如何在 react-native 中从另一个组件访问组件的状态?
How to access the state of a component form another component in react-native?
我正在使用 geolocation API
访问位置数据并将其存储在名为 Location.js
的组件的状态中,但我想从另一个独立组件访问状态 [=12] =].访问状态的最简单和最快的方法是什么?我是一个beginner
。任何帮助将不胜感激。即,如何在某种意义上创建状态 "global",因为除了 Slider
之外,我还有一些其他组件想要访问 Location
的状态。
有 10 个组件将使用 Location.js
的 location state
,然后我将不得不使用位置数据和来自 Slider
的一些数据执行 POST
操作。
我做了一些研究 -
有些人建议通过 props 发送状态数据,但我从来没有在 Location
组件中使用 Slider
组件。如果可以,请详细说明。
我在某处找到了关于 redux
的信息,它有什么用?我如何决定我真的需要它?如果是,谁能简单解释一下如何做?
你好,我的意见是不使用 Redux 和其他状态管理库进行中小型应用程序开发。
Redux 用于为中小型应用程序构建大型应用程序,没有必要。
要访问位置数据,您可以将其设置为服务文件并在任何地方访问此数据。
你问的问题不是 React Native 特有的,但它可能是关于用 ReactJS 编写的常规网络应用程序的问题(我这样说是因为在更大的社区中通常更容易找到教程等) ReactJS)
也就是说你有两个选择:
- 由于您的组件是独立的,您可以考虑创建一个包装器组件,通常称为高阶组件 (HOC),它将包含这两个组件。您应该在 HOC 组件中存在地理定位调用,并通过
props
将其发送到任何需要它的子组件。
- 使用状态管理工具——Redux 是 React 世界中最流行的状态管理工具,但它并不是唯一的。另一个非常流行的是 MobX。您可以将状态管理工具想象成覆盖整个应用程序的保护伞。您可以在任何组件中访问存储在 Redux 中的状态,无论您的应用程序的 parent-child 结构是什么。 Redux 被认为具有复杂的 bootstrap,如果您决定尝试一下,我强烈建议您学习 Egghead.io 上的免费课程:https://egghead.io/courses/getting-started-with-redux 该课程由 Dan Abramov 创建, Redux 的实际创建者:)
希望对您有所帮助 ;)
很多时候,Redux 是矫枉过正并且学习曲线陡峭。你可以看看XSM。它很容易拿起并且不会妨碍。将满足您跨组件共享数据等需求。
我正在使用 geolocation API
访问位置数据并将其存储在名为 Location.js
的组件的状态中,但我想从另一个独立组件访问状态 [=12] =].访问状态的最简单和最快的方法是什么?我是一个beginner
。任何帮助将不胜感激。即,如何在某种意义上创建状态 "global",因为除了 Slider
之外,我还有一些其他组件想要访问 Location
的状态。
有 10 个组件将使用 Location.js
的 location state
,然后我将不得不使用位置数据和来自 Slider
的一些数据执行 POST
操作。
我做了一些研究 -
有些人建议通过 props 发送状态数据,但我从来没有在
Location
组件中使用Slider
组件。如果可以,请详细说明。我在某处找到了关于
redux
的信息,它有什么用?我如何决定我真的需要它?如果是,谁能简单解释一下如何做?
你好,我的意见是不使用 Redux 和其他状态管理库进行中小型应用程序开发。
Redux 用于为中小型应用程序构建大型应用程序,没有必要。
要访问位置数据,您可以将其设置为服务文件并在任何地方访问此数据。
你问的问题不是 React Native 特有的,但它可能是关于用 ReactJS 编写的常规网络应用程序的问题(我这样说是因为在更大的社区中通常更容易找到教程等) ReactJS)
也就是说你有两个选择:
- 由于您的组件是独立的,您可以考虑创建一个包装器组件,通常称为高阶组件 (HOC),它将包含这两个组件。您应该在 HOC 组件中存在地理定位调用,并通过
props
将其发送到任何需要它的子组件。 - 使用状态管理工具——Redux 是 React 世界中最流行的状态管理工具,但它并不是唯一的。另一个非常流行的是 MobX。您可以将状态管理工具想象成覆盖整个应用程序的保护伞。您可以在任何组件中访问存储在 Redux 中的状态,无论您的应用程序的 parent-child 结构是什么。 Redux 被认为具有复杂的 bootstrap,如果您决定尝试一下,我强烈建议您学习 Egghead.io 上的免费课程:https://egghead.io/courses/getting-started-with-redux 该课程由 Dan Abramov 创建, Redux 的实际创建者:)
希望对您有所帮助 ;)
很多时候,Redux 是矫枉过正并且学习曲线陡峭。你可以看看XSM。它很容易拿起并且不会妨碍。将满足您跨组件共享数据等需求。