Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何用React和Easy-Peasy重复调用动作_Reactjs_React Hooks_Easy Peasy - Fatal编程技术网

Reactjs 如何用React和Easy-Peasy重复调用动作

Reactjs 如何用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(

我有一个显示项目列表的功能组件。这些项目是通过Ajax获取的。我正在使用状态管理库<;strong>React和>;Easy Peasy

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>)