【发布时间】:2020-08-30 09:46:30
【问题描述】:
我正在尝试根据组件中的选定值 (selectedNum) 从使用 Redux 的状态中检索过滤后的数组。但是,在 selectNumberHandler 触发后,重新渲染似乎不会触发调用 useSelector 。
我试图在处理程序本身中过滤数字数组,但这似乎也没有过滤全局范围内的渲染数字。
我也尝试添加以下内容,但无济于事(在 onChange 中设置 var 后未命中调试器点):
useEffect(() => {
debugger;
}, [selectedNum]);
您能帮我找到解决这类问题的最佳做法吗?
const MyFunction = () => {
let selectedNum: number;
let numbers = useSelector(filterNumbers(selectedNum));
const selectNumberHandler (selectedValue) => {
selectedNum = selectedValue;
}
return (
<div>
<select onChange={e => selectNumberHandler(e)}>
<option value='1' >1</option>
<option value='2' >2</option>
</select>
<div className={'numbers-list'}>
{numbers.map(num => {
<p>{num}</p>;
})}
</div>
</div>
);
};
【问题讨论】:
-
filterNumbers方法在哪里,它有什么作用?
标签: reactjs redux react-redux react-hooks