我对所有这些技术都很陌生,但据我了解,您可以将 React Native 与 Redux 和 Firebase 一起使用,而无需
react-redux-firebase
。你可以直接使用
react
react-native
redux
react-redux
react-native-firebase
然后从 Firebase(例如 Firestore)加载数据并将数据放入减速器中,以便将其合并到 redux 存储中。
为什么我需要
react-redux-firebase
?它能解决什么问题?
我已经尝试过它的docs,但它们似乎是为已经熟悉其目标的人编写的。他们并没有真正解释,并且在阅读示例时,我不明白为什么我特别需要
react-redux-firebase
而不是上面列出的设置。
Firebase 处于您的状态,听它并修改它,它将更改您的 Firebase 数据库。数据库中的数据更改后,监听的组件也会更改。
这将在数据库中创建一个项目
updateTodo: props => () => {
return firebase.update(`todos/${params.todoId}`, { done: !todo.isDone })
}
因此任何监听该节点的组件都将得到更新:
connect((state) => ({
todos: state.firebase.data.todos,
// profile: state.firebase.profile // load profile
}))
它解决了拥有多个事实来源的问题,您的 Firebase 数据库是您唯一的事实来源,否则,您更改本地数据,然后在线更新数据,然后如果它不起作用,但如果它失败了,您又要更新本地数据了
截至2023年,我们不应该使用react-redux-firebase(他们的网站也不支持https:))
虽然这些解决方案确实有效,但它们并不是 2023 年最有效或最新的解决方案。造成这种情况的主要原因是——因为我发现的大多数资源都是几年前编写的——它们并没有使使用一个库可以让你的 Redux 生活变得 100% 更轻松、更高效:Redux Toolkit(或“RTK”)。
来自此博客。