加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

reactjs – 我的自定义身份验证react-router路由有什么问题?

发布时间:2020-12-15 20:11:34 所属栏目:百科 来源:网络整理
导读:遗憾的是,我无法使用 react-router version 4创建自定义路由.我正在尝试构建一个呈现组件的路由,如果用户已经过身份验证,或者在另一种情况下将用户重定向到登录组件. 我一直在用this documentation page开始. const ProtectedRoute = ({component,...rest})
遗憾的是,我无法使用 react-router version 4创建自定义路由.我正在尝试构建一个呈现组件的路由,如果用户已经过身份验证,或者在另一种情况下将用户重定向到登录组件.

我一直在用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

解决方法

好的,我知道发生了什么事.在tsconfig.json中,您声明了此规则“noEmitHelpers”:true,它告诉typescript编译器在输出中不包含任何辅助函数,如__rest.这就是为什么没有定义__rest的运行时错误的原因.将其更改为false应该可以解决您的问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读