前提:由于我想以每部机器设置一个开关来定义 true或false,如果公用一个state不行,机器数不确定,如果以机器号来遍历设置state,这就有点过分了,打算用一个外部变量obj,来匹配key:value, 再用一个state作为媒介加载组件属性上
machineNos.forEach(item => {
ldrMachineId[item.ldr_machine_id] = false
})
const showMore = async (record) => {
ldrMachineId[record.ldr_machine_id] = true;
getMoreStat((pre) => !pre)
})
变量ldrMachineId是一个Obj,储存键值对- 通过点击事件来改变键值对的值
moreStat这个状态每次点击后都取反moreStat这个状态强行挂载到<ProcessUtils>组件上,即使这个state毫无用途- 目的就是:通过
state的改变,来触发页面更新机制,这种媒介机制state,我们常用new Date传入
之前写class component组件时,有个 this.forceUpdate() 方法,也能强行更新页面,绕过了state的改变
forceUpdate方法, 此方式只能类组件使用,就像 hooks 只能用在函数组件中一样- 链接:zhuanlan.zhihu.com/p/46140569
结语
前端react QQ群:
788023830----React/Redux - 地下老英雄前端交流 QQ群:
249620372----FRONT-END-JS前端(我们的宗旨是,为了加班,为了秃顶……,仰望大佬),希望小伙伴们加群一起学习