小编Fil*_*lta的帖子

React 钩子函数依赖

我发现自己处于一个奇怪的境地。我正在实施一个钩子,但我无法实现我想要的。

我有这样的事情:

const appHook = props => {
  const [foo, setFoo] = React.useState([]);
  const [bar, setBar] = React.useState([]);

  React.useEffect(() => {
    setFoo(getFoo(props.fooList, props.fooId));
    setBar(getBar(foo.listToFilter));
  }, [props.fooId]);

  const getCurrentBlockTrade = (arrayToFilter, number) =>
    arrayToFilter.filter(array => array.id === number);

  const getSubOutList = (...) => {
   ...
  };

return (<div>something</div>)
}
Run Code Online (Sandbox Code Playgroud)

我的问题是函数 setFoo 被正确执行,所以 foo state 是一个新数组,但是取决于 foo 状态的 setBar 接收一个空数组。基本上 setBar 在 setFoo 完成之前执行,因此 getBar 函数接收一个空数组。

管理这种依赖的正确方法是什么?

谢谢,F。

javascript reactjs react-hooks

3
推荐指数
1
解决办法
2718
查看次数

对无状态组件反应 onClick

我一直在尝试在反应组件上触发 onClick。如果我使用该事件会触发

<button onClick={()=>this.goToPage('next')}>Next Page</button>
Run Code Online (Sandbox Code Playgroud)

如果我在无状态组件上使用相同的方法,它不会触发:

<PageButton onClick={()=>this.goToPage('next')}>Next Page</PageButton>
Run Code Online (Sandbox Code Playgroud)

为什么这是不可能的?

reactjs

2
推荐指数
1
解决办法
2700
查看次数

标签 统计

reactjs ×2

javascript ×1

react-hooks ×1