所以。我从 context 作为 initialState 获取客户端,下面的代码来自我的列表组件(listClients.js 或 smth)。我使用从 firebase 获取的数据更新上下文。使用空数组作为依赖项,一切正常。我在列表组件中列出了我的最终数组。但是 eslint 仍然说我应该将“clientsRef”和“updateClients”添加到依赖项中,但这会导致无限循环。那我该怎么办呢?对这个警告闭上眼睛?
const { clients, removeClient, updateClients } = useContext(ClientsContext);
const collection = 'clients';
const clientsRef = firestore.collection('clients').orderBy('createdAt', 'desc');
useEffect(() => {
const unsubscribeFromSnapshot = clientsRef.onSnapshot(async snapshot => {
const clientsMap = convertSnapshotToMap(snapshot);
updateClients(clientsMap);
});
return () => {
unsubscribeFromSnapshot();
}
}, []);