像这样传递它:
<Route path="/login" render={(props) => <Login {...props} isAuthenticated={isAuthenticated}/>} />它应该
this.props.isAuthenticated在“登录组件”中可用。
原因{...props}:
如果我们不编写此代码,则只
isAuthenticated会将其传递给Login组件,而路由器传递给该组件的所有其他值将在Login组件中不可用。当我们写时,
{...props}我们将所有的值传递一个额外的值。并且代替
component路由器使用
render方法。
根据DOC
组成部分:
当您使用组件(而不是下面的渲染器或子组件)时,路由器将使用React.createElement从给定的组件中创建一个新的React元素。这意味着,如果您向component属性提供内联函数,则将在每个渲染中创建一个新组件。这将导致现有组件的卸载和新组件的安装,而不仅仅是更新现有组件。使用内联函数进行内联渲染时,请使用渲染。
渲染:
这样可以方便地进行内联渲染和包装,而无需进行不必要的重新安装。



