【发布时间】:2021-11-25 03:26:04
【问题描述】:
我使用功能组件创建了一个简单的反应应用程序。父组件是“站点”,而子组件是“查看站点”。我的父级(站点组件)中有此功能
function getSitesDB() {
ref.onSnapshot((querySnapshot) => {
const items = [];
querySnapshot.forEach((doc) => {
items.push(doc.data());
});
return items;
});
}
我想从我的子(查看网站)组件中调用此函数并获取它的返回值。 为此,我将我的子组件渲染为这样,
<Route exact path="/sites">
<ViewSites getSitesDB={getSitesDB}></ViewSites>
</Route>
并使用子组件中的props调用函数,
useEffect(() => {
setLoading(true);
const returnVal = props.getSitesDB();
setLoading(false);
}, []);
我将此 returnVal 变量视为未定义,但此函数正确调用父函数。只想知道如何取回返回值。请帮助我,因为我是新手。
【问题讨论】:
-
你没有对 returnVal 值做任何事情,只是在 useEffect 中使用它,你需要添加一个状态来保存它。
-
你没有从函数
getSitesDB返回任何东西
标签: javascript reactjs react-hooks react-router react-props