首页 > 解决方案 > @risingstack/react-easy-state:任务不是函数

问题描述

我正在使用@risingstack/react-easy-state,但经常在使用时autoEffect出现错误:

task is not a function. (In 'task()', 'task' is undefined)

例如这段代码,假设我有 2 家商店:

store1.ts

export const store1 = store({
  values: {}
})

store2.ts

export const store2 = store({
  syncValues: (values) => {
    ...
  }
})

现在,在一个组件中,我引用它们:

export const MyComponent = view(() => {

  ...
  autoEffect(() => {
    store2.syncValues(store1.values);
  });

});

上面的autoEffect代码会导致标题中描述的错误。为了修复它,我恢复使用内置useEffect

useEffect(() => {
 store2.syncValues(store1.values);
}, [store1.values])

为什么我在使用时会出现错误autoEffect?我已按照入门指南进行操作

标签: reactjsreact-state-managementreact-easy-state

解决方案


推荐阅读