为什么组件渲染器在useEffect中分派动作时执行3次?

问题描述 投票:0回答:1
我有一个函数组件,该函数使用钩子useEffect()来执行来自redux的分派操作。我从道具那里得到动作,它来自mapDispatchToProps。

const AdmRegion = props => { useEffect(() => { const { fetchRegionsListRequest } = props; fetchRegionsListRequest(); }, []); useEffect(() => { console.log("render page"); }); return ( <> </> ); }; const mapStateToProps = ({ regions }) => ({ regionsList: regions.list }); const mapDispatchToProps = { fetchRegionsListRequest }; export default connect(mapStateToProps, mapDispatchToProps)(AdmRegion);

此操作将触发渲染器三次。这是正常现象,还是可以某种方式减少重新渲染的次数?我不太明白为什么要三遍。根据动作fetchRegionsListRequest,触发了一个传奇,该传奇从服务器接收数据并放置redux存储console log screenshot

我有一个函数组件,该函数使用钩子useEffect()来执行来自redux的分派操作。我从道具那里得到动作,它来自mapDispatchToProps。 const AdmRegion = props => {useEffect(...

reactjs react-redux redux-saga
1个回答
0
投票
我在mapStateToProps内部进行了销毁
© www.soinside.com 2019 - 2024. All rights reserved.