如何解决具有布尔属性的ReactJS三元运算符
我正在尝试将三元运算符与布尔属性一起使用
app.js如下:
import React from 'react';
import HouseFull from './HouseFull';
function App() {
return (
<div>
<h1> Hello2 </h1>
<HouseFull hasopening="{false}" />
</div>
);
}
反应成分如下
import React,{ Component } from 'react';
class HouseFull extends Component {
render() {
return (
<div>
<h1> {this.props.hasopening} </h1>
<h1> {this.props.hasopening ? "Available" : "No Vacancy"} </h1>
</div>
)
}
}
export default HouseFull;
如果我将hasopening传递为true或false,则第二个h1标记的结果相同 如果我通过,则显示以下内容
{true}
available
{false}
available
我怀疑三元运算符的语句中有问题,但无法弄清楚。布尔标志的值正确反映在outpur的第一个h1标签中
解决方法
您正在传递字符串作为中的道具。您需要传递布尔值。
<HouseFull hasOpening={false} />
否则,您将必须以以下方式签入HouseFull组件,
<h1> {this.props.hasOpening === "{false}" ? "Available" : "No Vacancy"} </h1>
,
三元运算符很好,但是您传递的是 string 而不是 boolean 。非空字符串将始终取值为 true ,这就是为什么在切换时什么也没发生。
List<String> greetings = completableFuture.get();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。