我创建了1个具有1个按钮和1个文本的组件。我创建了一个名为global.js的js文件,该文件存储了device_type。现在,当我按下按钮时,我调用了在不同文件上创建的函数。此函数将全局变量device_type更新为Android或IOS。当全局变量发生变化时,它应该反映在我的组件屏幕中并更新“文本”字段。我该如何实现?
让我详细解释。 首先,我创建了组件
import React, { useState } from 'react'
import { View, Text, StyleSheet, TextInput, Button, Keyboard } from 'react-native'
import checkDevice from './CheckDevice'
import globals from './globals'
//Componet screen which will display on device
const checkDeviceType = () =>{
const [deviceType,setDeviceType] = useState(globals.devive_type)
useEffect ( ()=>{
}[deviceType])
return(
<View>
<Button title = 'Save Post' onPress = {()=> checkDevice.checkType()}/>
<Text> {dviceType} </Text>
</View>
)
}
const styles = StyleSheet.create({
})
export default EditScreen
//Function to check deviceType create in separate file
import globals from './globals'
const checkDevice = {
checkType = () =>{
call method to get device type
globals.devive_type = 'Android'
}
现在,当我单击按钮上的文本时
目前,我正在使用回调功能。但是我认为这不是正确的方法
答案 0 :(得分:0)
如果在组件的任何父组件(包含按钮和文本字段)中定义了全局变量,则您将能够在组件中以props的形式访问它。
您能像这样分享您的代码吗,这非常令人困惑。 如果您还有其他疑问,请写信给我。 希望这会有所帮助。 谢谢