React Hook useEffect缺少依赖项(在上下文中定义的函数)

问题描述 投票:0回答:1

我收到错误:React Hook useEffect缺少依赖项:'setSelectedPage'。要么包含它,要么删除依赖项数组react-hooks / exhaustive-deps

const Blah = props => {
    const { setPage } = useContext(GlobalContext);

    useEffect(() => {
        setPage("new project");
    }, []);

    return (
        <NewProjectState>
            <Index props={props} />
        </NewProjectState>
    );
};

export default Blah;

我知道,react希望我在setPage中定义useEffect函数,但是显然在其他地方使用了它。我确实想知道为什么不简单地将setPage函数放到return函数中。我想我要问的是做到这一点的最佳方法是什么?

react-hooks react-context use-effect
1个回答
0
投票

如果您确定它不会以不好的方式影响您的应用程序,那么您可以使用// eslint-disable-next-line react-hooks/exhaustive-deps忽略短毛绒>

const Blah = props => { 
  const { setPage } = useContext(GlobalContext);

  useEffect(() => {
    setPage("new project");
    // eslint-disable-next-line react-hooks/exhaustive-deps
  }, []);

  return (
    <NewProjectState>
        <Index props={props} />
    </NewProjectState>
  );
};

export default Blah;
© www.soinside.com 2019 - 2024. All rights reserved.