【问题标题】:How can pass state variable between components REACT NATIVE如何在组件之间传递状态变量 REACT NATIVE
【发布时间】:2022-10-12 23:07:16
【问题描述】:

我有 2 个组件 A 和 B。 如何将变量从组件 A 传递到组件 B ?

组件A.js

const ComponentA = () => {

    //INSET
    const insets = useSafeAreaInsets();
    //GET HEADER HEIGHT
    const [heightHeader, setHeightHeader] = useState(false)


    return (
    <View 
    onLayout={({ nativeEvent }) => {
    const { height } = nativeEvent.layout
    setHeightHeader(height)
    }}>
    </View>
      )
    }
    
export default ComponentA

我想从const [heightHeader, setHeightHeader] = useState(false)高度标头多变的

组件B.js

import ComponentA from './ComponentA';

const ComponentB = () => {


return (
<View style={{
      flex:1
      }}>


<View style={{
flex:1,
paddingTop: heightHeader,
}}>
</View>
</View>
  )
}

export default ComponentB

我想得到高度标头从组件到组件的变量。

*这两个组件不在同一个文件中

【问题讨论】:

    标签: reactjs react-native


    【解决方案1】:

    使用 redux 维护全局状态。 或者 使用 React Navigation 提供的 pass props 功能,如下所示:

    function HomeScreen({ navigation: { navigate } }) {
      return (
        <View>
          <Text>This is the home screen of the app</Text>
          <Button
            onPress={() =>
              navigate('Profile', {heightHeader:heightHeader })
            }
            title="Go to Brent's profile"
          />
        </View>
      );
    }
    

    更多关注this link

    【讨论】:

    • 不,这仅适用于导航堆栈中的屏幕。我想在组件之间传递道具作为组件而不是堆栈屏幕。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-12
    • 1970-01-01
    • 2020-05-16
    • 2018-01-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多