在一种情况下,我想为PrivateRoute
组件动态分配属性。
这是我的组件。
<PrivateRoute exact path="/" component={HomePage} />
在这里我想要这样的东西:
<PrivateRoute {localStorage.getItem('user') ? exact : '' } path="/" component={HomePage} />
如果localStorage.getItem('user')
为true,则仅应应用exact
。
答案 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等