react-router-sitemap tidak menghasilkan url untuk konten dinamis dari daftar

Kami menggunakan react-router-sitemap untuk membuat peta situs secara dinamis. Kami terjebak dengan menambahkan rute secara dinamis dari blog kami. Kode mengembalikan output dengan benar, tetapi tidak menambahkan link artikel ke peta situs, berikut kodenya:

import React, { useEffect } from 'react';
import {Switch, Route} from 'react-router-dom';
import HomePage from './homePage/HomePage';
import Projects from './projects/Projects';
import Project from './projects/MobileProject/project/Project';
import Contact from './contact/Contact';
import Job from './job/Job';
import Blog from './blog/Blog';


const fetch = require("node-fetch");
const API = "http://wp.mysite.in.ua";

function generatePostsRoutes() {
    console.log("generating posts ...");
    let posts = [];

    fetch(API + "/wp-json/wp/v2/posts")
        .then((response) => response.json())
            .then(content => {
                posts = content;
                console.log(posts.map((value) => <Route exact path={"/blog/article/" + value.slug} component={Blog} />));

                if(posts.length !== 0) {
                    return (
                        posts.map((value) => <Route exact path={"/blog/article/" + value.slug} component={Blog} />)
                    );
                }
            });
}

export default (
    <Switch>
        <Route exact path="/" component={HomePage}/>
        <Route exact path="/projects" component={Projects}/>
        <Route exact path="/project" component={Project}/>
        <Route exact path="/blog" component={Blog}/>
        <Route exact path="/blog/:sortId" component={Blog}/>
        {
            generatePostsRoutes()
        }
        <Route exact path="/job" component={Job}/>
        <Route exact path="/contact" component={Contact}/>
    </Switch>
);

Ini peta situs kami, kami ingin menambahkan tautan blog setelah <url> <loc>http://mysite.in.ua/blog/:sortId</loc> </url>:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" 
xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" 
xmlns:xhtml="http://www.w3.org/1999/xhtml" 
xmlns:mobile="http://www.google.com/schemas/sitemap-mobile/1.0" 
xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" 
xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">
<url> <loc>http://mysite.in.ua/</loc> </url>
<url> <loc>http://mysite.in.ua/</loc> </url>
<url> <loc>http://mysite.in.ua/projects</loc> </url>
<url> <loc>http://mysite.in.ua/project</loc> </url>
<url> <loc>http://mysite.in.ua/blog</loc> </url>
<url> <loc>http://mysite.in.ua/blog/:sortId</loc> </url>
<url> <loc>http://mysite.in.ua/job</loc> </url>
<url> <loc>http://mysite.in.ua/contact</loc> </url>
</urlset>

Terima kasih atas waktunya, saya akan sangat senang jika Anda dapat membantu kami)


person mshel    schedule 19.02.2020    source sumber
comment
Apakah ini menjawab pertanyaan Anda? Peta situs XML untuk aplikasi reaksi   -  person yash kothari    schedule 21.07.2020


Jawaban (1)


react-router-sitemap menyediakan cara untuk menghasilkan url untuk konten dinamis. Pada langkah 6 dari Cara membuat peta situs untuk situs web React Anda dengan konten dinamis ini menunjukkan cara menambahkan konten dinamis

person Bradia    schedule 21.03.2020