我有这样的情况:一个表,其中存在字段“available”和“borrower”。用户一旦点击“borrow”按钮,状态就被更新,“borrowerId”被添加到其中,并且“available”从true切换到false。
我能做的就是用两个按钮更新状态,但是我找不到一种方法来更新useState中对象的多个字段。
const [state, setState] = useState(book);
const handleChange = (e: any) => {
const name = e.target.name;
const value = auth.decodedUser.userId;
if (state) {
setState({
...state,
[name]: value,
});
}
};
<Button
name="borrowerId"
type="submit"
variant="outlined"
color="inherit"
onClick={handleChange}
>
borrow
</Button>
我想做的事情是这样的:
const handleChange = (e: any) => {
const userId = auth.decodedUser.userId;
if (state) {
setState({
...state,
available: false,
borrowerId: userId,
});
}
};
但我试过了,没有成功。有线索吗?
1条答案
按热度按时间8aqjt8rx1#
您可以执行类似以下示例的操作
我用一些虚拟值替换了
book
和auth.decodedUser.userId
通过呈现
{JSON.stringify(value)}
显示当前状态挂接按按钮查看
handleChange()
所做的更改第一个