我正在尝试使用useReducer来控制简单形式。
const [userInput, setUserInput] = useReducer(
(state, newState) => ({...state, ...newState}),
{
accountNr:'GB33BUKB20201555555555',
bic: 'NDEADKKK',
bank:'erww',
branch:'ewr',
bankAddress:'wer',
city:'er',
zip:'wer',
country:'wer',
giro:'wer',
}
);
在这里,我尝试以以下形式设置数据: const onGetIBAN = async(event)=> {
try
{
var result = await apiGetBankDataFromIBAN(userInput.accountNr,"asda");
alert(result.data.bankData.bic);
setUserInput({"bic": result.data.bankData.bic});
setUserInput({"bank": result.data.bankData.bank});
setUserInput({"branch": result.data.bankData.branch});
setUserInput({"bankAddress": result.data.bankData.bankAddress});
setUserInput({"city": result.data.bankData.city});
setUserInput({"zip": result.data.bankData.zip});
setUserInput({"country": result.data.bankData.country});
setUserInput({"giro": result.data.bankData.giro});
console.log(result);
}catch(error){
alert(error);
}
};
这里是输入示例:
<FormGroup>
<Label for="exampleText">Bank Address</Label>
<Input type="input" name="bankAddress" disabled value={userInput.bankAddress } onChange={handleChange}/>
</FormGroup>
但是,我第一次设置值时,会得到以下提示:
一个组件将受控输入类型更改为不受控制。输入值 元素不应从受控切换为不受控制(或反之 反之亦然。确定使用受控输入还是非受控输入 组件寿命中的元素
当我阅读其他文章时,是因为这些值没有默认的定义值,但是我有。是什么原因造成的?