React.useEffect 缺少依赖项 - 状态

let*_*eto 0 reactjs react-hooks use-effect

我收到错误“React Hook React.useEffect has a missing dependency: 'openPosts'”,其中 openPosts 是 Hook 中的状态。

export const Posts = (props) => {

  const [openPosts, setOpenPosts] = React.useState([]); *openPosts is an array of numbers*

  React.useEffect(_ => {
    let filteredOpenPosts = openPosts.filter(num => num >= 1);
    setOpenPosts(filteredOpenPosts);
  }, [props.userId]);
Run Code Online (Sandbox Code Playgroud)

我已经阅读过,但我不明白为什么我会收到这个错误。我可以忽略它吗?

我本质上希望 state 像上面那样过滤并改变,props.userId并认为这将是一种干净的方法。我还可以创建更多状态来跟踪任何更改,props.userId但如果上述方法可行,我更喜欢它。

rav*_*l91 5

如果你不想指定依赖,那么你可以试试这个,

React.useEffect(_ => {
    setOpenPosts(prevState => prevState.filter(num => num >= 1));
}, [props.userId]);
Run Code Online (Sandbox Code Playgroud)