尝试理解以下三个,
- 为什么“历史”被放在大括号内?
- 为什么“props”没有放在花括号内?
- 为什么使用“...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} />} />*
- 在上面的代码中,如果你在历史上使用大括号,它仅仅意味着你正在从 props 中解构历史变量,你也可以使用 props.history 两者是相同的东西。
- props 不在花括号中,因为 props 是传递给该函数的对象,我们可以使用花括号解构该对象的任何键。
- “...”称为扩展运算符,如果您想解构对象并传递对象的所有值,则可以使用此运算符。
关于reactjs - React 中如何评估 "history"对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56073474/