我有以下简单的短路语句,应显示一个组件或不显示任何内容:
{profileTypesLoading && <GeneralLoader />}
如果该语句为假,则呈现a 0
而不是什么。
我所做的console.log(profileTypesLoading)
只是为了快速查看该profileTypesLoading
属性的状态,它是预期的1或0。0应该为假…什么也不会渲染。对?
知道为什么会这样吗?
因为你的条件是falsy,因此不会返回第二个参数(<GeneralLoader />
),它会返回profileTypesLoading
,这是一个数字,所以反应会使其因为阵营跳过渲染什么,是typeof
boolean
或undefined
,并会呈现什么是typeof
string
或number
:
为了安全起见,您可以使用三元表达式{condition ? <Component /> : null}
或布尔值将条件转换为{!!condition && <Component />}
我看过一些代码,其中人们使用了带有两个“!”的条件子句s 这是我能找到的一些例子。 使用有什么好处超过?
我尝试有多个路由,所以我可以从一个路由重定向到另一个路由,但是每次我添加另一个路由时,主端都会同时呈现样式和组件,我尝试过lazyLoad、Switch并在路由路径中添加“精确”
我正在使用React路由器开发React web应用程序。在我的应用程序中。我已经导入了js文件头和主组件。在home组件中,我有两个组件,分别称为在线银行和信用卡,它们是我从在线银行导入的。js和信用卡。js文件。 当用户单击主页中的链接按钮时。js组件、在线银行和信用卡组件应呈现。 相反,我得到了一个名为error:Invariant failed的错误:您不应该使用 为什么它不起作用? 索引
I my app.js我已将路线定义为: 在我的中,我有一个链接: 但问题是,当我在aboue path中设置prop'确切={true}时,找不到这个路径 当我没有在上面的路径中设置exact={true}时,在同一页面上呈现路径组件及其下方的路径组件
我正在使用Vue router指向src文件中名为components的文件夹中的不同组件,这很奇怪,但所有组件中的模板都是相同的,我导入了文件并以完全相同的方式定义了路由,当然除了我的主文件中的确切组件文件名之外。js文件 这是我的main.js档案 奇怪的是,它们都展示了两个组成部分,家。vue和聚会。vue,其余的根本不显示。有人能帮忙吗?同样,组件模板本身是相同的,以防您漫游,提前感谢)
我对IntelliJ有问题--如果我用Ctrl+单击该类,它会显示一个类的“反编译”版本,而不是它的源代码。 这就是我所看到的: 我正在尝试打开常规的JDK源文件。 src.zip没有损坏-我可以通过WinRAR打开它 当将JDK1.8.0_161添加到IntelliJ中时,它会自动找到src.zip。当手动将src.zip添加到jbsdk8u112b287.2_windows_x86 Sourc