遗憾的是,我无法使用 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
