Database 第一次使用map()查看时,我的组件未渲染
好的,我正在用Ionic和React做一个应用程序。当我试图使用map函数渲染组件列表时,出现了一个问题。问题是,第一次访问页面时,我的Database 第一次使用map()查看时,我的组件未渲染,database,ionic-framework,components,react-hooks,render,Database,Ionic Framework,Components,React Hooks,Render,好的,我正在用Ionic和React做一个应用程序。当我试图使用map函数渲染组件列表时,出现了一个问题。问题是,第一次访问页面时,我的组件中没有任何内容被呈现。但是,如果您与页面/应用程序交互,例如,单击一个段按钮或单击选项卡再次进入页面,则会显示信息。下面是我的代码: const Help: React.FC = () => { const [info, setInfo] = useState([]); useEffect(() => {
组件中没有任何内容被呈现。但是,如果您与页面/应用程序交互,例如,单击一个段按钮或单击选项卡再次进入页面,则会显示信息。下面是我的代码:
const Help: React.FC = () => {
const [info, setInfo] = useState([]);
useEffect(() => {
setInfo(getYourRequest())
}, []);
return (
<IonContent>
<IonGrid>
<IonToolbar>
<IonRow>
<IonSegment onIonChange={e => console.log('Segment selected', e.detail.value)}>
<IonSegmentButton value="activehelps" >
<IonLabel>Active helps</IonLabel>
</IonSegmentButton>
<IonSegmentButton value="inactivehelps" >
<IonLabel>Inactive helps</IonLabel>
</IonSegmentButton>
</IonSegment>
</IonRow>
<IonRow>
<p>{mode}</p>
</IonRow>
</IonToolbar>
<IonList>
{info.map((item: any, index: number) => (
<Request key={index} item={item}/>
))}
</IonList>
</IonGrid>
</IonContent>
);
}
我在其他页面上成功地使用了类似的方法,但在这里,当我使用map()
函数时,我遇到了这个小错误。我已尝试将我的getYourRequest()
设置为异步,并使用在useffect
中获取它。或者只是删除
组件并将所有代码放在同一个文件中,但我遇到了同样的问题。
任何帮助都将不胜感激
export function getYourRequest() {
let userRef: any = firebase.auth().currentUser;
let reqArr: any = []
let requestRef = db.collection("something").where("something", "==", "something")
requestRef.get().then(snapshot => {
snapshot.forEach(req => {
reqArr.push({ "an object" })
});
})
.catch(err => {
console.log('Error getting documents', err);
});
return reqArr
}