如何在reactjs

时间:2019-04-11 12:57:30

标签: javascript reactjs

在一种情况下,我想为PrivateRoute组件动态分配属性。

这是我的组件。

<PrivateRoute exact path="/" component={HomePage} />

在这里我想要这样的东西:

<PrivateRoute {localStorage.getItem('user') ? exact : '' } path="/" component={HomePage} />

如果localStorage.getItem('user')为true,则仅应应用exact

3 个答案:

答案 0 :(得分:4)

您可以像这样使用散布运算符:

const exact = localStorage.getItem('user') ? { exact: true } : { };
<PrivateRoute {...exact} path="/" component={HomePage} />

如果getItem()返回falsy,则将散布一个空对象,并且根本不会设置任何属性。

答案 1 :(得分:0)

尝试

const user = localStorage.getItem('user');

user ? <PrivateRoute exact path="/" component={HomePage} /> 
     : <PrivateRoute path="/" component={HomePage} />

答案 2 :(得分:0)

如果您有对象obj={a:'something', b:'somethingelse'},只需将其传递给组件,如下所示:

<PrivateRoute exact path="/" component={HomePage} {...obj} />

因此,您可以在组件内部通过以下方式访问它:

this.props.a,this.props.b等