首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在react中重定向到主屏幕?

如何在react中重定向到主屏幕?
EN

Stack Overflow用户
提问于 2019-03-14 18:46:27
回答 2查看 214关注 0票数 0

你能告诉我如何在react if key is not found in local storage中重定向到主屏幕吗?我在这里有一个演示应用

https://codesandbox.io/s/00q3588z1v

当我用这个url“/abc”完整的url“https://00q3588z1v.codesandbox.io/abc”运行应用程序时,它给我这个错误:无法读取属性'toUpperCase‘的null

因为该键中没有值,所以我需要重定向到/或重定向到Test组件

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-03-14 18:52:10

Test组件中的componentDidMount会将localStorage中的a设置为"abc",但用户在访问Test2之前可能不会访问此页面,因此在对其使用字符串方法之前,您需要检查是否实际设置了a

如果你想重定向到/,你可以使用to属性来呈现一个Redirect组件。

代码语言:javascript
复制
render() {
  console.log("Test1 admin");
  const a = localStorage.getItem("a");

  return (
    <div>
      test2
      {a ? a.toUpperCase() : <Redirect to="/" />}
    </div>
  );
}
票数 0
EN

Stack Overflow用户

发布于 2019-03-14 19:04:11

在我看来,您需要设置一个条件,如果localStorage中的值为空,该条件将使您返回到'/‘

代码语言:javascript
复制
if (localStorage.getItem("a")) {
     return (
<div>
  test2
  {localStorage.getItem("a").toUpperCase()}
</div>
     )
} else {
    return <Redirect to="/" />
 }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55160539

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档