gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-10-30 20:42:55 24 4
gpt4 key购买 nike

不幸的是,我无法使用 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)

这里有一些关于我正在使用的堆栈的更多信息:

  • react 15.6.1
  • react-router-dom 4.2.2
  • typescript 2.5.2

为什么没有定义rest?我的自定义路由有什么问题?

提前致谢!

更新(最小示例)

可以找到问题的最小示例 here .要运行该示例,请执行以下步骤:

最佳答案

好的,我知道发生了什么。在您的 tsconfig.json 中,您声明了这条规则 "noEmitHelpers": true 告诉 typescript 编译器不要在您的输出中包含任何辅助函数,例如 __rest .这就是为什么你有 __rest is not defined 的运行时错误。将其更改为 false 应该可以解决您的问题。

关于reactjs - 我的自定义身份验证 react-router 路由有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46027711/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com