应用程序需要存储诸如语言、主题之类的数据,存储这些数据的最佳位置在哪里?我一直使用LocalStorage,但在我看来这不是正确的解决方案,它可以加载到数据库中,但是每次都必须从数据库中加载,那么标识信息应该存储在哪里呢?并非每次都要求用户登录。最好的使用方法是什么?
主页
/
user-490717
Gin's questions
我有一个反应应用程序。在驱动程序页面组件(DriverWay)中,我从数据库接收所有订单并将它们写入orderList。我试图通过 Order 组件在屏幕上显示数据,但它不起作用。数组不为空,我检查过
驾驶方式:
const orderList = [];
const DriverWay = () => {
const listen = onAuthStateChanged(auth, (user) => {
if (user) {
setUid(user.email.split('@')[0]);
}
});
const db = getDatabase();
const dbRef = ref(db, 'orders/');
function handleOnClick() {
onValue(
dbRef,
(snapshot) => {
snapshot.forEach((childSnapshot) => {
orderList.push(childSnapshot.val());
});
},
{
onlyOnce: true,
}
);
}
handleOnClick();
orderList.map((item) => console.log(item));
return (
<div className={styles.driver__way__block}>
<MapWithRoute />
<Button
type="submit"
onClick={handleOnClick}
width={19.9375}
height={3.6875}
bgc="FFE500"
btnText="Показать заказы"
btnTextColor="FFF"
/>
<div
style={{
position: 'absolute',
width: '100vw',
height: '100vh',
zIndex: 9999999,
backgroundColor: '#fff',
top: 0,
}}
>
{orderList.map((order) => (
<Order
key={order}
nowGeo={order.nowGeolocation}
endGeo={order.endGeolocation}
uid={order.uid}
/>
))}
</div>
</div>
);
};
命令:
const Order = (props) => {
return (
<div>
<h1>Now geo: {props.nowGeo}</h1>
<h2>End geo: {props.endGeo}</h2>
</div>
);
};
export default Order;
应用程序.jsx:
function App() {
return (
<div className="App">
<Routes>
<Route path="/driver-way" element={<DriverWay uid={driverId} />} />
</Routes>
</div>
);
}
export default App;
我错过了接收数据和记录的机会。我还尝试使用简单地显示数组的元素.map (orderList.map((item) => console.log(item));)
。日志为空,屏幕上没有任何内容