当组件在连接的功能组件中使用 Hooks 挂载时如何分派操作?
How to dispatch an action when component did mount using Hooks in a connected function component?
[React-Redux]
我正在寻找一种正确的方法来分派映射操作,该操作包含承诺从服务器获取一些数据并在组件安装时更改商店中的状态。
动作创建器使用来自 "redux" 的 { bindActionCreators } 和来自 "react-redux" 的 { connect } 绑定到组件道具;
目前我正在使用带有跳过标志的 useFetch Hook,但我认为这不是一个好的做法,因为效果会在每次状态更改时触发并且它不会因为标志而运行。
const [skipUpdate, setSkipUpdate] = useState(false);
useEffect(() => {
if (!skipUpdate) {
props.fetchData();
setSkipUpdate(true);
}
}, [skipUpdate, props]);
我希望 "dispatch effect" 只在组件挂载时触发,而不是在每次状态更改时触发。
使用空依赖数组的效果:
useEffect(() => { props.fetchData(); }, []);
这只会在初始装载时 运行。
[React-Redux]
我正在寻找一种正确的方法来分派映射操作,该操作包含承诺从服务器获取一些数据并在组件安装时更改商店中的状态。
动作创建器使用来自 "redux" 的 { bindActionCreators } 和来自 "react-redux" 的 { connect } 绑定到组件道具;
目前我正在使用带有跳过标志的 useFetch Hook,但我认为这不是一个好的做法,因为效果会在每次状态更改时触发并且它不会因为标志而运行。
const [skipUpdate, setSkipUpdate] = useState(false);
useEffect(() => {
if (!skipUpdate) {
props.fetchData();
setSkipUpdate(true);
}
}, [skipUpdate, props]);
我希望 "dispatch effect" 只在组件挂载时触发,而不是在每次状态更改时触发。
使用空依赖数组的效果:
useEffect(() => { props.fetchData(); }, []);
这只会在初始装载时 运行。