javascript - className 条件不是动态的?
问题描述
我需要根据布尔状态显示和隐藏一列。但它只会触发一次。
我正在尝试根据布尔状态设置显示无并阻止,我的应用程序更新布尔状态但我的列不会读取它
<Row style={ (values.boolean ? styles.visible : styles.hidden) }>
我正在使用 setState 方法来更改我的布尔值:
this.setState({ boolean: Object.keys(response.tracks).length && Object.values(response.tracks).length ? true : false })
编辑:很抱歉在 setstate 上错过了咒语,但我的代码是正确的
我的应用程序实际上会更新状态,但行不会改变
const styles = {
visible: {
display: 'block'
},
hidden: {
display: 'none'
}
}
编辑:我发现了问题,我试图在一个大对象的错误路径上设置状态
解决方案
正如@Panther 已经回答你的那样:
this.setState 获取一个带有键值作为参数的简单对象 - 您需要做的就是将调用更改为:
this.setState({ boolean: true })
推荐阅读
- linux - 获取打开文件描述符的内存使用情况
- javascript - 按钮单击一次即可更新
- java - Java:从类名动态创建对象,带参数
- webview - 显示 html 格式的数据 xamarin 表单
- html - 背景图像填充和调整到浏览器窗口
- activerecord - 模型 Yii2 中属性的不同值/默认值
- angular-reactive-forms - 如何获取值已更改的输入字段名称 [Angular 6]
- c# - 为一对多但两次配置 EF Fluent API
- date - 从 HiveQL 中的现有日期创建日期
- python - Python 为 crypt 结果添加了额外的内容