reactjs - 使用 React Router 传递状态最简单的方法是什么?

标签 reactjs react-router react-state

使用 React Router 传递状态最简单的方法是什么?我下面的 Navi 组件反射(reflect)用户为空,而不是用户为“KungLoad”。谢谢。

class App extends Component{
  constructor() {
    super();
    this.state = {user: "KungLoad"};
}
  render () {
    return(
    <div>
<Router> 
    <Route exact path="/" state  component = {Navi} />
  </Router>

最佳答案

最简单的方式就是将state作为props传递,然后在指定的组件中使用。对于您的情况,您必须使用 render 而不是 component 将状态作为 Prop 传递。

<Route exact path="/" render={() => <Navi user={this.state.user} />}  />

这会起作用,但我会向您推荐 reactJS 的 Context API 概念最适合这里。您可以使用数据提供者将状态或 Prop 传递给所有组件,所有组件都将使用父组件提供的状态或 Prop 。 . https://reactjs.org/docs/context.html

关于reactjs - 使用 React Router 传递状态最简单的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64273133/

相关文章:

css - 无法修改 Material UI 的 <Dialog> 组件的部分内部样式

javascript - 如何在 ReactJS 中使用适当的、可测试的事件处理程序制作可重用的组件

javascript - 在 ReactJS 中将数组传递给另一个函数

javascript - 如何使用 react 路由器

reactjs - react 状态,一段时间后删除数组中的项目

javascript - 在 React Table 7.1.0 中一次只能选择一行

reactjs - 通过 React Router 传递函数

javascript - Dispatch(action) 更改商店状态但组件未更新

ReactJS 使用动态键及其数据遍历状态数组

javascript - 在react-dropzone-uploader的onSubmit方法中访问props