ReactJS从另一个组件调用一个函数

时间:2020-04-16 10:48:08

标签: reactjs

这是我的组件,它调用函数getData,它将执行对服务器的API调用。

const Page = () => {
  const [data, setData] = useState([]);
  useEffect(() => {
    fetchData();
  }, []);

  async function fetchData() {
    const result = await getData();
    setData(result.data);
  }

数据被传递到反应表以显示。但是,我有一个模式,用户可以提交一个表单来更改后端的数据内容,我希望在用户提交后自动更新数据。

从另一个组件调用fetchData()函数的最佳方法是什么?反应钩子,redux吗?

我知道将方法作为道具传递的可能性,但是表格组件调用了模式,这意味着该函数必须被传递两次。

1 个答案:

答案 0 :(得分:0)

如果它是一个逻辑相对简单的小型应用程序,我不建议设置redux并维护状态树。除非必要,否则请不要使用其他样板来充实您的代码库。

由于数据仅在<TableComponent /><Modal />中使用,因此您可以在TableComponent中获取数据,并通过道具将其传递到Modal

如果您希望在< PageComponent />中获取它,则仍然可以传递道具。