javascript - React Router 受保护的路由
问题描述
我正在学习 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: "/" } };
我知道我们正在创建一个对象,但是||
做什么呢?是否将两个对象合二为一?我不明白。
解决方案
||
是逻辑 OR 运算符
let { from } = location.state || { from: { pathname: "/" } };
这就是说,如果不为空或未定义,则分配location.state.from
给变量,否则分配location.state
{ pathname: "/" }
推荐阅读
- php - 在 Laravel 中显示我想删除的多对多关系的数据时出现问题
- assembly - 如何多次打印 .bmp 图像?
- javascript - 在reduce方法中用momentjs计算小时的差异
- python - 将股票的符号名称写入数据库
- elasticsearch - Elasticsearch 搜索结果相关性问题
- c++ - 虚拟文件系统是这个应用程序的正确概念吗
- html - 用元素循环头数组
- mysql - MySQL Workbench,如何修复“SELECT is not valid at this position for this server version”错误
- python - 带通配符的“全部规则”输入
- python - 是否有类似于法语 AFINN 的数据集(每个单词的分数在 -5 和 +5 之间,基于情绪)?