javascript - 反应 onChange 不适用于功能组件内的输入
问题描述
我已经这样做了一百万次,从来没有遇到过这个问题,我不知道我做错了什么。我有一个简单的输入字段并且有一个钩子useState
并且amount
我setAmount
正在使用handleChange
函数来更新它但是handleChange
函数没有触发
const CustomAmount = () => {
const [amount, setAmount] = useState(1);
const handleChange = (e) => {
console.log(e); // This is not working either
setAmount(e.target.value);
};
return (
<div className="custom-amount-container">
<h4>Enter your desired amount</h4>
<input
type="number"
name="custom-amount"
data-test="custom-amount-input"
value={amount}
onChange={handleChange}
/>
</div>
);
};
我尝试将它直接放在onChange
道具中,但仍然没有运气,而且通常如果onChange
函数不起作用,它不会改变值,但在这种情况下,值会在输入字段内被改变
我也在sweetalert
模态中使用这个组件
const customAmountModal = () => {
return swal(<CustomAmount />);
};
解决方案
这是目前 swal 和 react 17 的一个已知问题: https ://github.com/t4t5/sweetalert/issues/950
作者知道并表示他会尽快推送更新。
请随意投票/观看该问题以获取有关此问题的更新。
推荐阅读
- c# - ASP.NET MVC - HTML 错误“没有 IEnumerable 类型的 ViewData
" - angular - 软件包更新后 Cypress e2e 出现问题
- testrigor - Testrigor - 开发人员日志
- matlab - 返回两个大小不等的数组匹配的索引
- unix - grep 条件并在字符串中打印另一个值
- python-3.x - 在 python 3.x 中遍历一个不那么普通的字典
- python - 如何使用 SymPy 加速符号集成?
- events - 发送交易和接收事件如何在以太坊区块链的后端工作
- spring - 默认值和非空约束
- reactjs - React useEffect 缺少依赖