Javascript 尝试更改输入onChange时遇到状态错误

Javascript 尝试更改输入onChange时遇到状态错误,javascript,reactjs,next.js,use-state,Javascript,Reactjs,Next.js,Use State,I当我从父组件向下传递状态时,setState不断抛出一个错误,指出setEmail不是事件更改的函数。我想知道是否有一个简单的解决办法 当我尝试在电子邮件输入中键入字符串时,会抛出以下错误: 错误:未处理的运行时错误 TypeError:setEmail不是一个函数 父组件:(Next.js应用程序) import React,{useState,useContext,useffect}来自“React”; 导入“./styles/globals.css”; 导入“bootstrap/dist

I当我从父组件向下传递状态时,
setState
不断抛出一个错误,指出
setEmail
不是事件更改的函数。我想知道是否有一个简单的解决办法

当我尝试在电子邮件输入中键入字符串时,会抛出以下错误:

错误:未处理的运行时错误 TypeError:setEmail不是一个函数

父组件:(Next.js应用程序)

import React,{useState,useContext,useffect}来自“React”;
导入“./styles/globals.css”;
导入“bootstrap/dist/css/bootstrap.min.css”;
函数MyApp({Component,pageProps}){
const[tester,setter]=使用状态(false);
const[email,setEmail]=useState(“”);
const[password,setPassword]=useState(“”);
返回(
);
}
导出默认MyApp;
子组件:

导出默认功能注册(道具){
const router=useRouter();
const{email,setEmail,password,setPassword,setHasAccount}=props;
//用于处理在单击时提交新用户的函数
const onSubmit=(事件)=>{
event.preventDefault();
路由器推送(“/问题”);
};
返回(
setEmail(e.target.value)}
/>
setPassword(event.target.value)}
/>
报名

{ event.preventDefault(); setHasAccount(真); }} > 有帐户吗?在这里登录

); }
您需要检查此组件的父组件是否正在传入一个名为
setEmail
的道具,以及它是否是一个函数。看起来您可能忘记了将其作为道具传递。

我将您的代码移植到一个沙箱中,它工作正常,我相信您在某种程度上传递道具是错误的。这是沙盒的副本,您可以看到它正在运行


你能给我看一下Signupsorry的父组件吗?关于这一点,我添加了父组件信息,它是一个next.js应用程序,所以它是_app.tsx