iXdi - Σύγχρονος προγραμματισμός

Πώς να αλλάξετε δυναμικά τον τίτλο και την περιγραφή της σελίδας στο ClojureScript / Reagent

Υπάρχει κάποιος απλός τρόπος για να αλλάξετε τον τίτλο και την περιγραφή του εγγράφου (ή άλλες ετικέτες [:html [:head [:meta) από την εφαρμογή ClojureScript Reagent; Για παράδειγμα, σε κάθε αντιστοίχιση διαδρομής bidi αλλάξτε τον τίτλο και την περιγραφή ώστε να ταιριάζει με το περιεχόμενο της νέας σελίδας.

Κατά προτίμηση αυτό θα πρέπει να λειτουργεί χωρίς τη χρήση js/window, ώστε ο ίδιος κώδικας να μπορεί να χρησιμοποιηθεί σε πρόγραμμα περιήγησης καθώς και σε ισομορφική προαπόδοση διακομιστή (που χρειάζομαι για SEO).

Στον κόσμο JavaScript/React υπάρχουν react-document-meta και react-side-effect το οποίο μπορεί πιθανώς να μετατραπεί σε συστατικά Reagent. Αλλά αυτός ο τρόπος χειρισμού των παρενεργειών φαίνεται σαν χακάρισμα και πιθανώς απλούστερη λύση μπορεί να γίνει στο καθαρό ClojureScript.


  • Βρήκα μια σχετική ερώτηση που προσπαθεί να λύσει το ίδιο πρόβλημα χρησιμοποιώντας την εισαγωγή της μονάδας npm react-κράνος. Αλλά αποτυγχάνει να συγκεντρώσει το αποτέλεσμα και δεν έχει βρεθεί ακόμη αποτελεσματική απάντηση: stackoverflow.com/questions/47272447/ 07.06.2018

Απαντήσεις:


1

Δεν χρησιμοποιώ bidi, αλλά παρόμοιο αμφίδρομο δρομολογητή silk μαζί με re-frame. Για κάθε αλλαγή σελίδας, ενεργοποιούμε ένα συμβάν :set-current-route το οποίο θα αντιμετωπίζεται κεντρικά.

Ο χειριστής για :set-current-route θα το κάνει τότε

(set! (.-title js/document) "dynamic title")
08.07.2017
  • Αυτό λειτουργεί στο πρόγραμμα περιήγησης. Αλλά όταν μεταγλωττίζεται :target :nodejs και εκτελείται σε κόμβο ή άλλο περιβάλλον χωρίς πρόγραμμα περιήγησης, αποτυγχάνει επειδή το js/document δεν είναι διαθέσιμο. Άρα δεν λύνει το SEO και το ισομορφικό κομμάτι της απορίας. 07.06.2018
  • Νέα υλικά

    5 αμυχές που πρέπει να γνωρίζετε για να γίνετε σπουδαίος προγραμματιστής.
    5 αμυχές που πρέπει να γνωρίζετε για να γίνετε σπουδαίος προγραμματιστής. Αυτές τις μέρες, πολλοί φιλοδοξούν να εργαστούν ως προγραμματιστές. Αλλά το να γίνεις σπουδαίος προγραμματιστής δεν..

    Πώς να εφαρμόσετε το Deep Learning σε δομημένα δεδομένα
    Η βαθιά μάθηση είναι ένα καυτό και περιζήτητο θέμα τώρα ως μέρες. Η επιτυχία του προέρχεται από το γεγονός ότι είναι εξαιρετικά αποτελεσματικό στην επίλυση σύνθετων προβλημάτων και στην επίτευξη..

    Είναι το AI καλύτερο από τα ζώα στο να βλέπουν στο σκοτάδι;
    Τέχνη Μηχανικής Εκμάθησης Είναι η τεχνητή νοημοσύνη καλύτερη από τα ζώα στο να βλέπουν στο σκοτάδι; Τα όρια της όρασης ρομπότ στο ακραίο σκοτάδι Μελέτη της συμπεριφοράς των ζώων τη..

    Νέα δυνατότητα: Αναπτύξτε περισσότερο τον ανοιχτό κώδικα με το IssueHunt Upvotes
    Είμαστε στην ευχάριστη θέση να σας παρουσιάσουμε τη νεότερη λειτουργία μας: IssueHunt Upvote , τον τέλειο τρόπο υποστήριξης, κοινής χρήσης και παρακολούθησης του αγαπημένου σας ανοιχτού..

    Πώς μπορώ να προσλάβω την κορυφαία εταιρεία ανάπτυξης JavaScript στην Ινδία 2022;
    Αν ψάχνετε να προσλάβετε μια εταιρεία ανάπτυξης JavaScript στην Ινδία; Η iWebServices είναι μία από τις κορυφαίες εταιρείες ανάπτυξης JavaScript , που σας παρέχει τις καλύτερες υπηρεσίες..

    Το C# 11 πρόκειται να κυκλοφορήσει τον Νοέμβριο. αυτά είναι τα κορυφαία χαρακτηριστικά
    Η επόμενη έκδοση της διάσημης αντικειμενοστρεφούς, ασφαλούς για τύπους γλώσσας προγραμματισμού της Microsoft, C# 11, έχει σχεδόν ολοκληρωθεί και συνεχίζει να προσθέτει λειτουργίες. Εδώ είναι..

    Σφάλμα: ESLint TypeError createRequire δεν είναι συνάρτηση
    Τρόπος διόρθωσης: Σφάλμα — Το ESLint TypeError createRequire δεν είναι συνάρτηση Ελέγξτε την έκδοση Node. Από το ESLint 7+ πρέπει να εκτελείτε Node 10.12.0 ή νεότερη έκδοση . Πρώτα..