Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何传递按钮组件';将标题转换为React Native中的函数_Javascript_React Native - Fatal编程技术网

Javascript 如何传递按钮组件';将标题转换为React Native中的函数

Javascript 如何传递按钮组件';将标题转换为React Native中的函数,javascript,react-native,Javascript,React Native,我想将React原生按钮组件的标题传递到相邻函数中。我仅在此应用程序中使用React本机功能组件 这是组件。我想将用户按下的按钮的标题(可能是“英语”或“阿拉伯语”)传递到函数submitLanguageSelection中,这样我就可以将该值保存到useLocalStorage(),这是我为处理AsyncStorage而编写的自定义挂钩,以便用户下次使用该应用程序时,他们的语言选择将被保留,并且他们不会再次显示在chooseyourlanguage屏幕上 感谢您的帮助 const Choose

我想将React原生按钮组件的标题传递到相邻函数中。我仅在此应用程序中使用React本机功能组件

这是组件。我想将用户按下的按钮的标题(可能是“英语”或“阿拉伯语”)传递到函数
submitLanguageSelection
中,这样我就可以将该值保存到
useLocalStorage()
,这是我为处理
AsyncStorage
而编写的自定义挂钩,以便用户下次使用该应用程序时,他们的语言选择将被保留,并且他们不会再次显示在
chooseyourlanguage屏幕上

感谢您的帮助

const ChooseYourLanguageScreen = ({ navigation }) => {
  const [saveData, storedValue, errorMessage] = useLocalStorage();
  const [userSelectedLanguage, setUserSelectedLanguage] = React.useState('');

  const submitLanguageSelection = () => {
    //TODO: receive params from onPress
    //TODO: save the data locally
    //TODO: navigate to welcome screen
  };

  return (
    <View style={styles.container}>
      {errorMessage ? <Text>{errorMessage}</Text> : null}
      <Text style={styles.text}>This is the Choose Your Language Screen</Text>
      <View style={styles.buttons}>
        <View>
          <Button
            title={'English'}
            onPress={() => submitLanguageSelection()}
          />
        </View>
        <View>
          <Button title={'Arabic'} onPress={() => submitLanguageSelection()} />
        </View>
      </View>
    </View>
  );
};
const ChooseYourLanguageScreen=({navigation})=>{
const[saveData,storedValue,errorMessage]=useLocalStorage();
const[userSelectedLanguage,setUserSelectedLanguage]=React.useState(“”);
常量submitLanguageSelection=()=>{
//TODO:从onPress接收参数
//TODO:在本地保存数据
//TODO:导航到欢迎屏幕
};
返回(
{errorMessage?{errorMessage}:null}
这是“选择您的语言”屏幕
submitLanguageSelection()}
/>
submitLanguageSelection()}/>
);
};

您只需将其传递给函数即可

 <Button title={'Arabic'} onPress={() => submitLanguageSelection('Arabic')} />

您只需将其传递给函数即可

 <Button title={'Arabic'} onPress={() => submitLanguageSelection('Arabic')} />

从同级组件获取数据是一种反模式

语言选项的知识来源是
ChooseYourLanguageScreen
组件(从您的代码片段中可以看出),因此它应该包含可用语言的列表。这样,您就可以遍历它们并渲染适当的组件:


{languages.map((语言)=>(
子语言选择(语言)}
/>
))}

从同级组件获取数据是一种反模式

语言选项的知识来源是
ChooseYourLanguageScreen
组件(从您的代码片段中可以看出),因此它应该包含可用语言的列表。这样,您就可以遍历它们并渲染适当的组件:


{languages.map((语言)=>(
子语言选择(语言)}
/>
))}