【问题标题】:how to pass data from one page to another page in react native using hook (useState)?如何使用钩子(useState)将数据从一个页面传递到另一个页面?
【发布时间】:2022-01-24 00:01:17
【问题描述】:

--------首页 -------------------------

          const [getName, setName] = useState("")
 <View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
  <Text>Home Screen</Text>
  <TextInput placeholder="enter your name"
  onChange={bob}
  />
  <Button
    title="Next page"
    onPress={() => {
      
      navigation.navigate('Details', {
       myItem: getName,
      });
    }}
  />
</View>

function bob(input){ setName(input) }

----------第二个屏幕---------- -

  <Text>itemId:{route.params.myItem}</Text>

我正面临这个错误:::

对象作为 React 子对象无效(找到:带有键的对象 {dispatchConfig, _targetInst, nativeEvent, _dispatchListeners, _dispatchInstances、类型、目标、currentTarget、eventPhase、气泡、可取消、时间戳、defaultPrevented、isTrusted、 isDefaultPrevented,isPropagationStopped})。如果你打算渲染一个 子集合,请改用数组。

【问题讨论】:

    标签: reactjs react-native


    【解决方案1】:

    要拥有可以跨多个页面/组件共享的全局状态,您必须使用 React Context API 以及 useContext 钩子。

    参考以下链接 https://reactjs.org/docs/context.html

    这很有趣! 观看下面的视频以了解基本知识。 https://www.youtube.com/watch?v=sP7ANcTpJr8

    【讨论】:

    • 我在使用上下文 Api 时无法传递数据。这是我的代码:::: function Screen2() { const {getEmail} = useContext(LoginContexts); return ( {getEmail}; ); } //------------ 屏幕 2;在关注 youtube 视频时,我的屏幕变为空白,并且控制台中也没有错误
    • 您必须在要引用公共状态的所有页面/组件中使用'useContext'
    • 我已经更新了我的代码:stackoverflow.com/questions/70832433/…
    • 我在每个页面中都使用了“useContext”,但仍然遇到错误,请帮助我。我是初学者。不仅如此,如果您也有遵循相同概念的 github 代码,请与我分享。
    • 请观看此播放列表,然后编写代码。这将清除您所有的疑虑youtube.com/playlist?list=PL4cUxeGkcC9hNokByJilPg5g9m2APUePI
    猜你喜欢
    • 1970-01-01
    • 2020-11-20
    • 2015-09-12
    • 1970-01-01
    • 2012-01-03
    • 2017-01-25
    • 1970-01-01
    • 2016-12-24
    • 1970-01-01
    相关资源
    最近更新 更多