【发布时间】:2022-01-07 15:48:32
【问题描述】:
我正在使用 React-Router-v6,我想将一些道具作为位置传递给 useRoutes()。我有点困惑,因为我找到了一个例子 Modal 虽然这个例子没有使用 useRoutes() 我试图运行它但是一些操作员在我运行它时会抛出一些错误。
我发现?: 为conditional operator precedence
但我找不到它是如何工作的。它看起来像... ? ... : ...,但这对我不起作用。
我的整个问题是下面的命令是如何工作的,以及下面的运算符(as 和 ?:)做了什么。
let state = useLocation().state as { backgroundLocation?: Location };
PS:我认为整个命令类似于将Location 分配为state 的新属性,名称为backgroundLocation,但我仍然不理解整个功能。
【问题讨论】:
-
?:不是您发布的内容中的运算符,而是 TypeScript。这些错误可能是因为您将其视为 JavaScript。 -
如果您注意到link
?:指的是操作员。谢谢。 -
对,但那是针对 JavaScript 的,再说一次,你有 TypeScript。从
as开始的所有内容都不是 JavaScript,并且会在编译时被删除。请注意,您链接到的是.tsx文件。 -
@jonrsharpe 你是对的。谢谢!
标签: javascript reactjs operator-precedence