reactjs - 如何有条件地比较 React 中的状态和值?
问题描述
我是新手,如何比较状态和值?这些值通过 componentDidMount() 分配给状态 managerStatus、directorStatus 和 partnerStatus。当我使用 console.log 时,也会检索值,但是当我使用 IF 条件时,它不会进行更改。
console.log(managerStatus);
console.log(directorStatus);
console.log(partnerStatus);
if (managerStatus === "Rejected") {
this.state.managerStatus = "Pending"
} else if(directorStatus === "Rejected")
this.state.directorStatus = "Pending"
else if( partnerStatus === "Rejected")
this.state.partnerStatus = "Pending"
代码应该如何更正?
解决方案
render() {
const managerStatus = this.state.managerStatus;
const directorStatus = this.state.directorStatus;
const partnerStatus = this.state.partnerStatus;
if (managerStatus == "Rejected") {
this.state.managerStatus = "Pending"
} else if(directorStatus == "Rejected")
this.state.directorStatus= "Pending"
else if( partnerStatus == "Rejected")
this.state.partnerStatus = "Pending"
}
在 render() 函数中使用上述方法帮助我解决了问题。在 render() 上方的构造函数中声明的状态可以通过 using 访问this.state.nameofstate
。我在 render() 中访问它们,然后将它们分配给变量。使用我与字符串值比较的那些变量,如果条件为真。使用this.state.statename
状态可以改变。
推荐阅读
- java - 方法有一个参数,其数据类型为Passenger的ArrayList
- apache-spark - Spark Dataframes:单行是否会完全位于单个集群上?
- vue.js - Vuejs在子组件中编辑道具对象属性
- javascript - 如何从工作线程访问返回数据?
- asynchronous - 在 Google Apps 脚本上运行异步函数
- python-3.x - 通过 Shellscript 运行 Python 和 Pip 时权限被拒绝
- android - 在 Android Touch 事件中看不到点击涟漪效应
- laravel - 通过 laravel eloquent 模型在连接三个表中获取特定值
- python - 用空格分割列表列表中的字符串
- python - 找到径流站与该站对应的 SPI1、SPI3、SPI6 之间的相关性