我在反应中使用useState和useEffect钩子来渲染表单。但是,当我使用useEffect挂钩更新表单时。表单不会重新呈现。
from keras.preprocessing.image import ImageDataGenerator
datagen = ImageDataGenerator()
model.fit_generator(datagen.flow(x_train, y_train, batch_size=32),
steps_per_epoch=len(x_train) / 32, max_queue_size=50)
在useEffect挂钩中,api调用更新了表单,因此重新呈现仓库类型的select输入,但是select输入不会重新呈现。这可能是什么原因。
答案 0 :(得分:2)
您还需要复制嵌套值:
{
warehouseType: {
elementType: 'select',
elementConfig: {
options: [
{ value: '4', displayValue: 'Showroom' }
]
},
value: '1',
validation: {},
valid: true
},
...
const updatedForm = { ...form };
updatedForm.warehouseType.options = updatedWarehouseTypes;
setForm(updatedForm);
您还错过了其中的elementConfig
。 updatedForm.warehouseTypes.elementConfig.options
但是复制嵌套值仍然是一个好主意。
const updatedForm = {
...form,
warehouseType: {...form.warehouseType,
elementConfig: {...form.elementConfig,
options:updatedWarehouseTypes
}}};