遗憾的是,我无法使用 react-router version 4创建自定义路由.我正在尝试构建一个呈现组件的路由,如果用户已经过身份验证,或者在另一种情况下将用户重定向到登录组件. 我一直在用this do
我一直在用this documentation page开始.
const ProtectedRoute = ({component, ...rest}) => ( <Route {...rest} render={props => false ? <Component {...props} /> : <Redirect to={{pathname: '/login', state: {from: props.location}}}/>} /> );
我正在使用这样的ProtectedRoute:
<ProtectedRoute exact path='/' component={testComponent}/>
当我运行它时,我得到以下运行时错误:
Uncaught ReferenceError: __rest is not defined at ProtectedRoute (index.tsx:19) at ReactCompositeComponent.js:305 at measureLifeCyclePerf (ReactCompositeComponent.js:75) at ReactCompositeComponentWrapper._constructComponentWithoutOwner (ReactCompositeComponent.js:304) at ReactCompositeComponentWrapper._constructComponent (ReactCompositeComponent.js:279) at ReactCompositeComponentWrapper.mountComponent (ReactCompositeComponent.js:187) at Object.mountComponent (ReactReconciler.js:45) at ReactDOMComponent.mountChildren (ReactMultiChild.js:236) at ReactDOMComponent._createInitialChildren (ReactDOMComponent.js:703) at ReactDOMComponent.mountComponent (ReactDOMComponent.js:522)
这里有一些关于我正在使用的堆栈的更多信息:
>反应15.6.1
> react-router-dom 4.2.2
>打字稿2.5.2
为什么没有定义休息?我的自定义路线有什么问题?
先感谢您!
更新(最小例子)
可以在here找到问题的最小示例.要运行该示例,请按照下列步骤操作:
>使用yarn install安装依赖项
>使用yarn dev运行dev服务器
>转到http://localhost:8080