Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.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 是否将常量从默认函数内部导出到另一个文件?_Javascript_Reactjs_React Native - Fatal编程技术网

Javascript 是否将常量从默认函数内部导出到另一个文件?

Javascript 是否将常量从默认函数内部导出到另一个文件?,javascript,reactjs,react-native,Javascript,Reactjs,React Native,我对React和React Native非常陌生,但我想将一个常量变量从函数内部传递到另一个文件。我尝试在函数外部定义它,然后让它在函数内部被修改,但是我得到了一个无效的钩子调用错误。这是我的代码: import React, { useState } from "react"; import { SafeAreaView, StyleSheet, TextInput, TouchableOpacity, Text, } from "react-

我对React和React Native非常陌生,但我想将一个常量变量从函数内部传递到另一个文件。我尝试在函数外部定义它,然后让它在函数内部被修改,但是我得到了一个无效的钩子调用错误。这是我的代码:

import React, { useState } from "react";
import {
  SafeAreaView,
  StyleSheet,
  TextInput,
  TouchableOpacity,
  Text,
} from "react-native";

function JoinScreen({ navigation }) {
  const joinHandler = () => {
    navigation.navigate("JoinSwipeScreen");
  };

  const [code, setCode] = useState("");
  return (
    <SafeAreaView style={styles.container}>
      <TextInput
        style={styles.inputCode}
        placeholder="Room code..."
        onChangeText={(val) => setCode(val)}
      />
      <TouchableOpacity style={styles.joinButt} onPress={joinHandler}>
        <Text style={styles.joinTxt}>Join</Text>
      </TouchableOpacity>
    </SafeAreaView>
  );
}

//styles

export default JoinScreen;

import React,{useState}来自“React”;
进口{
安全区域视图,
样式表,
文本输入,
可触摸不透明度,
文本,
}从“反应本族语”;
函数JoinScreen({navigation}){
const joinHandler=()=>{
导航。导航(“JoinSwipeScreen”);
};
const[code,setCode]=useState(“”);
返回(
设置代码(val)}
/>
参加
);
}
//风格
导出默认屏幕;

编辑:我正在尝试将变量代码导出到另一个文件。如果可以,请提供帮助,如果我不清楚,请询问任何问题。

您不能在该组件之外使用组件的状态
useState
应仅在功能组件的顶层使用,以防止以任何方式导出

要在组件之间共享状态,请执行以下任一操作:

  • 将状态保留在父组件中,通过props将其传递给子组件,并通知父组件状态应随回调而更改
  • 使用
  • 使用第三方库作为状态管理,如

我不明白您发布的代码与您的问题有何关联。在我看来,它是有效的,应该是有效的,并没有反映出你的问题。您是否正在尝试将状态传递到功能组件之外?您好,谢谢您的评论,我忘了说我正在尝试导出名为“code”的变量。您不能只导出值
code
,您可以将其作为道具传递给其中一个子组件。如果你想传播价值,你应该调查React ContextWow,非常感谢你的回答,会为我调查最好的方法。据我所知,useState是获取TextInput值的唯一方法,您是否知道是否还有其他方法可以使导出更容易?无论如何,谢谢你的回答。你想在父组件中使用它吗?我想在另一个普通javascript文件中使用它,该文件将处理应用程序的后端组件(与DB的连接)。我想一个选项是将该普通javascript文件的函数作为
onChangeText