【发布时间】:2019-12-14 15:06:36
【问题描述】:
我有一个具有受控状态的下拉菜单。如果用户更改了下拉值并且输入不为空,则触发从其他组件传递的函数。
export default ({ triggerChange, inputVal }) => {
const [dropdown, setDropdown] = useState(1);
useEffect(() => {
if (inputVal) {
triggerChange(dropdown);
}
}, [dropdown]); // this line throw a warning
const handleChange = e => {
setDropdown(e.target.value);
};
return (
<div>
<select onChange={handleChange}>
<option value="1">1</option>
<option value="2">2</option>
</select>
</div>
);
};
错误
React Hook useEffect 缺少依赖项:'inputVal' 和 '触发改变'。要么包含它们,要么删除依赖数组。 如果 'triggerChange' 变化太频繁,请找到 定义它并将该定义包装在 useCallback 中。 (react-hooks/exhaustive-deps)
【问题讨论】:
标签: javascript reactjs