我将 PostToRender 作为道具传递给 Post 组件,但它的更新确实在状态更改后显示在 Post 中

问题描述 投票:0回答:0

我正在传递这个 PostTorender 并且在 console.log(postToRender) 之后,它在应用程序组件中发生了变化,但在 Post 组件中没有发生变化。

App.js

import { useState } from "react";
import * as React from "react";
import { BrowserRouter, Routes, Route } from "react-router-dom";
import Post from "./components/Post";
import { useEffect } from "react";
function App() {
  const [Form, setForm] = useState(0);
  const [PostsToRender, setPostsToRender] = useState([]);
  console.log(PostsToRender);
  return (
    <div>
      <Navbar Form={Form} setForm={setForm} divId={"diver"} />

      <BrowserRouter>
        <Routes>
          <Route
            path="/"
            element={
              <Desc
                formvis={Form}
                PostsToRender={PostsToRender}
                setPostsToRender={setPostsToRender}
              />
            }
          ></Route>
          <Route
            path="/:id"
            element={<Post PostsToRender={PostsToRender} />}
          ></Route>
        </Routes>
      </BrowserRouter>
      <About />
    </div>
  );
}

export default App;

Post.js

import React, { useEffect, useState } from 'react'
import {useLocation, useParams} from "react-router-dom";

const Post = (props) => {
 
console.log(props.PostsToRender);
  return (
    <div>Random stuff</div>
  )
}

export default Post

*我尝试了一些东西,比如 useeffect 和其他东西,但似乎没有任何效果。 *

reactjs react-hooks react-router react-props
© www.soinside.com 2019 - 2024. All rights reserved.