【发布时间】:2021-12-15 20:11:45
【问题描述】:
问题
我有两个相同的 React Router 指向同一个组件,但是传递了两个不同的 props。 React Router 似乎没有重新渲染组件,因此没有显示更改
App.js
function App() {
return (
<Router>
<div className="App">
<Switch>
<Route path="/" exact component={Main}/>
<Route path="/FAQ" component={Faq}/>
</Switch>
</div>
</Router>
);
}
标题
<Link to="/" ><li className="active">HOME</li></Link>
<Link to={{ pathname: '/FAQ', state: { Display: "about"} }} ><li>ABOUT</li></Link>
<Link to={{ pathname: '/FAQ', state: { Display: ""} }} ><li>FAQ</li></Link>
常见问题解答.js
<Accordion className="accordion" preExpanded={[props.location.state.Display]} >
例如,如果我转到主页 > 关于或主页 > 常见问题解答,则该站点按预期工作,但如果我转到常见问题解答 > 关于或关于 > 常见问题解答,则该站点不会重新呈现并且“手风琴”不会预先显示即使道具在 FAQ.js 上发生变化也要花费,因为我在控制台记录了它们。
【问题讨论】:
标签: javascript html reactjs react-hooks react-router