在React中如何评估“历史”对象

时间:2019-05-10 08:21:32

标签: reactjs react-router-dom

试图理解以下三个方面,

  1. 为什么“历史记录”放在花括号中?
  2. 为什么没有在花括号中放入“道具”?
  3. 为什么使用“ ... props”。或者我的意思是为什么我们在传播 props是这里的对象。

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

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

1 个答案:

答案 0 :(得分:2)

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

<Route exact path="/add" render={({history}, props) => <AddSubscriber history={history} {...props} addSubscriberHandler={this.addSubscriberHandler} />} />*
  1. 在上面的代码中,如果您在历史记录上使用花括号,则仅表示您正在从props破坏history变量,也可以使用props.history都是同一件事。
  2. 道具不在大括号中,因为道具是传递给该函数的对象,我们可以使用大括号来破坏对象的任何键。
  3. “ ...”被称为散布运算符,如果您要分解对象并传递该对象的所有值,则使用它。