Select 下拉列表中的一个项目并在 React native 的另一个组件中使用该值

Select an item from dropdown and use that value in another component in React native

我只是想做类似的事情(当用户 select 一个项目,然后导航到另一个组件):

     const handleValueChange=(itemValue, itemIndex) =>setTypeValue(itemValue)
    
       const onPress = () => {
    
            try{
              
              const topic = "Plant/type";
              ...
              navigation.navigate('Air')
             
            }catch(err){
              console.log(err)
            }  
            
          }
   return (
         <Picker
                  selectedValue={typeValue}
                  onValueChange={handleValueChange}
                  style={{ top: '21%', height: 50, width: 150 }}/> 

       <TouchableOpacity
                          style={styles.button}
                          onPress={()=> onPress()}
                        />
)

通常当我们想在两个组件之间传递值时,我们使用 props :

<AirScreen typeofPlant={typeValue} />

但在这种情况下,我不知道如何在不调用 AirScreen 的情况下做到这一点

像这样做:

navigation.navigate('RouteName', { /* params go here */ })

您可能需要阅读以下文档: https://reactnavigation.org/docs/params/

您可以这样做:

const onPress = () => {
    try{
        const topic = "Plant/type";
        ...
        navigation.navigate('Air', {newTopic: topic}) //you can pass another value by separating with comma
    }catch(err){
        console.log(err)
    }     
}

然后您可以在下一个屏幕中获取相同的值,例如:

function NextScreen({ route, navigation }) {
    const topic = route.params.newTopic
}

希望这对你有用。