我在想这个问题。在handleChange事件上更新redux状态是正确的吗?我的意思是,我猜想使用钩子来具有中间状态,并且仅在我跳过该组件时才更新redux状态可能是更好的做法。
这是我的代码,一个非常简单的示例。
const handleTitle(event= => {
setCursoTitle(event.target.value);
}
这是应该避免在每个onChange事件上进行更新的方式。
const [cursoTitle, setcursoTitle] = useState('');
const handleTitle = (event) => {
//handle onChange from Text Field
setCursoTitle(event.target.value);
}
const exitForm = () => {
//update Redux State
setCursoTitle(cursoTitle);
}
在每个on change事件上更新redux状态非常昂贵吗?您认为哪种方法更好?
答案 0 :(得分:1)
这实际上取决于场景。例如,如果您使用的是websocket,我认为您的解决方案将无法正常工作。
看看https://github.com/xnimorz/use-debounce。这是仅在用户停止键入时才更新您的redux状态的方法。这样,您的redux就能真正代表您当前的数据,并且您不必在每次按下按键时都重新渲染组件。