Reactjs 如何用React和Easy-Peasy重复调用动作
我有一个显示项目列表的功能组件。这些项目是通过Ajax获取的。我正在使用状态管理库<;strong>React和>;Easy PeasyReactjs 如何用React和Easy-Peasy重复调用动作,reactjs,react-hooks,easy-peasy,Reactjs,React Hooks,Easy Peasy,我有一个显示项目列表的功能组件。这些项目是通过Ajax获取的。我正在使用状态管理库<;strong>React和>;Easy Peasy const MyList = () => { const {fetchItems} = useStoreActions(actions => actions.myStore); const {items} = useStoreState(state => state.myStore); React.useEffect(
const MyList = () => {
const {fetchItems} = useStoreActions(actions => actions.myStore);
const {items} = useStoreState(state => state.myStore);
React.useEffect(() => {
fetchItems(); // Ok, fine, it works well here, done once.
}, []);
return (
<ul>
Here are my Items
</ul>
)
}
但当我这么做的时候
const MyList = () => {
const {fetchItems} = useStoreActions(actions => actions.myStore);
const {items} = useStoreState(state => state.myStore);
React.useEffect(() => {
fetchItems(); // Ok, fine, it works well here, done once.
}, []);
useInterval(() => {
fetchItems();
}, 2000);
return (
<ul>
Here are my Items
</ul>
)
}
constmylist=()=>{
const{fetchItems}=useStoreActions(actions=>actions.myStore);
const{items}=useStoreState(state=>state.myStore);
React.useffect(()=>{
fetchItems();//好的,很好,在这里很有效,完成一次。
}, []);
useInterval(()=>{
fetchItems();
}, 2000);
返回(
这是我的物品
)
}
我得到以下错误:
RangeError: Maximum call stack size exceeded
at Array.reduce (<anonymous>)
at get (easy-peasy.esm.js:203)
at Object.get$1 [as whats] (easy-peasy.esm.js:471)
at eval (moderation.js:22)
at Array.map (<anonymous>)
at eval (moderation.js:21)
at memoizerific (memoizerific.js:170)
at Object.get$1 [as whats] (easy-peasy.esm.js:476)
at eval (moderation.js:22)
at Array.map (<anonymous>)
RangeError:超出最大调用堆栈大小
在Array.reduce()处
获取时(easy peasy.esm.js:203)
在Object.get$1[as whats](easy peasy.esm.js:471)
评估时(moderation.js:22)
在Array.map()处
评估时(moderation.js:21)
在memoizerific(memoizerific.js:170)
在Object.get$1[as whats](easy peasy.esm.js:476)
评估时(moderation.js:22)
在Array.map()处
如何重复重新加载我的项目?演示如何调用找到的“钩子”,您说的是“在useEffect之后,在返回之前”,显示整个代码,而不仅仅是片段。参考我认为如果你提供了一个CodeSandbox或者一些展示更多代码和如何使用它的示例,会更容易得到帮助。展示你如何调用你找到的这个“钩子”,你说“在useEffect之后,在返回之前”,展示整个代码,而不仅仅是片段。请参阅,我认为如果您提供了一个CodeSandbox或某种示例来显示更多代码以及如何使用它,那么会更容易提供帮助。
RangeError: Maximum call stack size exceeded
at Array.reduce (<anonymous>)
at get (easy-peasy.esm.js:203)
at Object.get$1 [as whats] (easy-peasy.esm.js:471)
at eval (moderation.js:22)
at Array.map (<anonymous>)
at eval (moderation.js:21)
at memoizerific (memoizerific.js:170)
at Object.get$1 [as whats] (easy-peasy.esm.js:476)
at eval (moderation.js:22)
at Array.map (<anonymous>)