Javascript 使用React Native提交数据后重置表单中的字段

Javascript 使用React Native提交数据后重置表单中的字段,javascript,react-native,Javascript,React Native,我正在尝试使用表单将用户添加到我的数据库中,但在单击“提交”按钮后,我也想重置表单中的字段 我正在这样设置状态,并试图在onPressprop: 导出默认函数Cadastro({}){ 常量[nome,setNome]=使用状态(“”); const[idade,setIdade]=useState(“”); const[email,setEmail]=useState(“”); const[estado,setEstado]=useState(“”); const[cidade,setCida

我正在尝试使用表单将用户添加到我的数据库中,但在单击“提交”按钮后,我也想重置表单中的字段

我正在这样设置状态,并试图在
onPress
prop:

导出默认函数Cadastro({}){
常量[nome,setNome]=使用状态(“”);
const[idade,setIdade]=useState(“”);
const[email,setEmail]=useState(“”);
const[estado,setEstado]=useState(“”);
const[cidade,setCidade]=useState(“”);
const[endereco,setEndereco]=useState(“”);
const[telefone,setTelefone]=使用状态(“”);
const[nome_usuario,setNome_usuario]=使用状态(“”);
const[senha,setSenha]=useState(“”);
const[confirmacao,setConfirmacao]=使用状态(“”);
var newUser={
诺姆:诺姆,
伊达德:伊达德,
电邮:电邮,,
伊斯塔多:伊斯塔多,
cidade_id:cidade,
恩德雷科,
telefone:telefone,
nome_usuario:nome_usuario,
森哈:森哈,
};
返回(
正如《先兆子痫信息》所揭示的那样
在阿多èão e/ou apadrinhamento过程中的平等实现,
这是一个正式的进程。
佩索瓦信息
个人信息
福托·德·佩菲尔
{}}>
福托斯酒店
{
AddUsuario(新用户);
}}
/>
);
}
我还尝试创建一个函数来设置状态,如
setNome(“”)
,但随后出现了“Invalid hook call”错误

另外,有没有比我上面所做的更好的方法来初始化多个状态


谢谢你的帮助

因为您使用的是功能组件,所以可以按如下方式使用钩子。如果有条件呈现代码,请检查传递给useEffect的函数中是否定义了todoInput。我假设您的状态变量在依赖项列表中被称为todoText

从'react'导入{useRef,useffect};
让AddTodo=({dispatch})=>{
const todoInput=useRef();
useffect(()=>todoInput.current.clear(),[todoText]);
返回(
{dispatch(addTodo(e.nativeEvent.text))}
/>
)

}
为所有字段更改此选项

“onChangeText={setNome}”到onChangeText={(text)=>setNome(text)}

提交后清除值

const clearForm = () => {
    setName('');
    setIdade('');
    ......
}

<SubmitButton
   text="FAZER CADASTRO"
   onPress={() => {
    AddUsuario(newUser);
    clearForm();
   }}
/>
constclearform=()=>{
集合名(“”);
刚毛(“”);
......
}
{
AddUsuario(新用户);
clearForm();
}}
/>

我正在尝试这种方法,但遇到了“无效挂钩调用”错误。正在导入我的AddUsario函数并使用
useffect()
,这是问题吗?仅从React函数调用挂钩。有一些钩子规则可以使用,就像您可以检查并相应地实现它一样