reactjs - React 中如何评估 "history"对象

标签 reactjs react-router-dom

尝试理解以下三个,

  1. 为什么“历史”被放在大括号内?
  2. 为什么“props”没有放在花括号内?
  3. 为什么使用“...props”。或者我的意思是为什么我们要传播 这里是 props 对象。

关于第一点的一些信息 - 根据我的理解,“{history}”意味着应该评估的 javascript 对象,但我看不到该对象尚未在编写以下代码的组件中初始化。

<Route exact path="/add" render={({history}, props) => <AddSubscriber history={history} {...props} addSubscriberHandler={this.addSubscriberHandler} />} />

最佳答案

请使用以下代码块在下面找到您问题的答案:

<Route exact path="/add" render={({history}, props) => <AddSubscriber history={history} {...props} addSubscriberHandler={this.addSubscriberHandler} />} />*
  1. 在上面的代码中,如果你在历史上使用大括号,它仅仅意味着你正在从 props 中解构历史变量,你也可以使用 props.history 两者是相同的东西。
  2. props 不在花括号中,因为 props 是传递给该函数的对象,我们可以使用花括号解构该对象的任何键。
  3. “...”称为扩展运算符,如果您想解构对象并传递对象的所有值,则可以使用此运算符。

关于reactjs - React 中如何评估 "history"对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56073474/

相关文章:

javascript - 将 GrapesJS 与 React JS 集成

reactjs - React JSX 中的 try-catch 语句

javascript - 从 React 中的同一选择下拉表单字段获取多个值

reactjs - 如何在React中进行基于角色的访问路由

javascript - 如何使用 React 路由器嵌套路由

javascript - 为什么 react 路由器 url 发生变化但组件未加载到我的嵌套路由器应用程序中

css - React 导入样式文件的快捷方式

javascript - Socket.io 仅适用于重新连接

reactjs - 隐藏导航栏功能不起作用 useLocation

reactjs - 如何处理匹配同一路径的多个路由