【问题标题】:React Router protected routesReact Router 受保护的路由
【发布时间】:2020-10-26 20:00:48
【问题描述】:

我正在学习 React Router(准确地说是受保护的路由),在 React Router 文档中有一个我几乎可以理解的功能,但是有一行代码我看不到它是如何工作的。也许有人可以简短地描述那条线的作用。下面是来自https://reactrouter.com/web/example/auth-workflow的函数

function LoginPage() {
  let history = useHistory();
  let location = useLocation();

  let { from } = location.state || { from: { pathname: "/" } };
  let login = () => {
    fakeAuth.authenticate(() => {
        history.replace(from);
    });
  }; 

这条线有什么作用?

let { from } = location.state || { from: { pathname: "/" } };

我知道我们正在创建一个对象,但|| 是做什么的?是否将两个对象合二为一?没看懂。

【问题讨论】:

标签: javascript reactjs object router protected


【解决方案1】:

|| 是逻辑或运算符

let { from } = location.state || { from: { pathname: "/" } };

这就是说,如果location.state 不为空或未定义,则将location.state.from 分配给变量from,否则分配{ pathname: "/" }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-27
    • 2022-07-30
    • 2021-12-20
    • 2018-08-11
    • 2021-11-03
    • 1970-01-01
    • 2019-05-31
    • 1970-01-01
    相关资源
    最近更新 更多