如何在2个屏幕之间传递数据,并且不在react native中使用导航

bfnvny8b  于 2022-12-19  发布在  React
关注(0)|答案(1)|浏览(105)

我有2个屏幕,我想在不使用导航的情况下将数据从第一个屏幕传输到第二个屏幕,因为使用导航时需要转到下一个屏幕,我只想在单击第一个屏幕上的按钮时将数据传输到第二个屏幕。同样的问题,当按返回按钮返回第一个屏幕时,是否可以将数据从第二个屏幕传输到第一个屏幕,我使用导航中的默认后退按钮,因此不知道如何调用该后退按钮的onPress()。

export default function FirstScreen({ navigation }) {
    return (
        <View>
            <TouchableOpacity onPress={() => {/* pass data (for example text) to SecondScreen 
        and don't need to switch to the SecondScreen */}}>
                <View>
                    <Icon name="close"></Icon>
                </View>
            </TouchableOpacity>
            <TouchableOpacity onPress={() => { navigation.navigate('secondscreen') }}>
            </TouchableOpacity>
            <Text>{/* display the data sent from the SecondScreen */}</Text>
        </View>
    );}

第二个屏幕

export default function SecondScreen({ navigation }) {
/* pass data to FirstScreen when click to back button in header navigation*/
return (
    <View>
        <Text>{/* display the data sent from the FirstScreen */}</Text>
    </View>
);}

我已经试着搜索了,但是仍然找不到这个问题的具体解决方案。希望大家能帮忙

zzwlnbp8

zzwlnbp81#

这里有几个选项,你可以使用“useState()”,通过props传递状态和setState,或者用它创建一个回调函数。
除非这是你唯一使用这种状态的地方,否则在这种情况下使用全局应用状态听起来会更好,它会临时存储当前会话的状态,同时该状态可以从整个应用程序读取和访问。
我相信Redux是目前在应用程序中处理全局状态的最流行的方法,你应该谷歌一下并做一些研究。

相关问题