将react对象设置为道具中给定的对象



我正试图根据传递到组件(props.toothData(中的道具来设置react中对象(teethData.data(的状态。如果props传递的对象的长度为零,则设置该对象。如果props.toothData的长度为零,则为变量givenToothData提供默认值,使得teethData.data具有默认值,否则,teethData.data仅设置为props.toothData。然而,如果props.ToothData不是长度为零的,teethData.data也不会改变我想要的方式

下面是我的代码,有什么建议吗?


function TableArray(props) {
const navigate = useNavigate();
console.log(props.toothData);
var givenToothData = props.toothData;
if (Object.keys(props.toothData).length === 0) {
console.log("this happened", props.toothData);
givenToothData = {
1: {
pp: false,
C14: false,
GI0: false,
GI23: false,
PDI: false,
GR: false,
F13: false,
M03: false,
},
2: {
AB: false,
AT: false,
EH: false,
TI: false,
TLUX: false,
O: false,
GH: false,
OST: false,
ONF: false,
FX: false,
CA: false,
OM: false,
D: false,
DX: false,
},
3: { RTR: false, TR: false, SN: false, TA: false },
4: {
TFXUCF: false,
TFXCCF: false,
TFXUCRF: false,
TNE: false,
TPE: false,
},
}
console.log("this happened", givenToothData);
}
const [teethData, setTeethData] = useState({
tooth: props.tooth,
data: givenToothData
});
console.log(teethData.data, "runthisfirst n", givenToothData, props.teethData);



useState钩子的参数在首次安装组件时只分配一次。在随后的函数执行中,它不会设置该值。尝试使用useEffect设置道具变化时的状态。即CCD_ 10。

相关内容

  • 没有找到相关文章

最新更新