我正在学习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: "/" } };
我知道我们正在创建一个对象,但是||
会做什么?它是将两个对象连接在一起吗?我不明白。
答案 0 :(得分:3)
||
是逻辑或运算符
let { from } = location.state || { from: { pathname: "/" } };
这就是说,如果location.state.from
不为null或未定义,则将location.state
分配给变量 from ,否则分配{ pathname: "/" }