首页 > 解决方案 > 从单个数据源更新整个应用程序中数据更改的本机 ui 组件

问题描述

我是 react-native 的新手,我正在从服务器获取数据,并且基于数据我必须更新我的 UI 元素,就像更改背景颜色或隐藏图像一样。为了实现这一点,我应该遵循什么方法,现在我正在尝试使用 redux 来做到这一点,但不知何故无法更新 redux 中的特定项目,因为在 redux 中我正在存储 Json 数据。我尝试更新,但仍然没有更新 redux 的运气。

基本上,如果我从服务器自动获取任何数据(如通知或其他数据),我想在每个屏幕上更新我的 UI。

请帮助我决定更好的方法来实现这一点。

提前致谢。

依赖项:

"dependencies": {
    "firebase": "^5.0.3",
    "lodash": "^4.17.11",
    "prop-types": "^15.6.2",
    "react": "16.4.1",
    "react-native": "0.56.0",
    "react-native-elements": "^0.19.1",
    "react-native-keyboard-aware-scroll-view": "^0.8.0",
    "react-native-navigation": "^2.3.0",
    "react-native-segmented-control-tab": "^3.3.1",
    "react-native-size-matters": "^0.2.1",
    "react-native-vector-icons": "^6.1.0",
    "react-redux": "^6.0.0",
    "redux": "^4.0.1"
  },
  "devDependencies": {
    "babel-jest": "23.6.0",
    "babel-polyfill": "^6.26.0",
    "babel-preset-react-native": "5.0.2",
    "jest": "23.6.0",
    "react-test-renderer": "16.4.1"
  },

标签: react-nativeredux

解决方案


如果你正在使用 Redux,请尝试根据其状态制作组件。假设您要更改组件的颜色。您可以使用道具使组件颜色动态化,在状态更改调度操作时,reducer 会将新状态返回给组件。组件应基于该状态呈现。查看Redux 工作原理一文,你会明白的。


推荐阅读