Html Formik不显示在nextjs页面上?
我有一个“登录”组件,里面有一个带有Formik的div,只有一些姓氏和电子邮件表单,没有错误,但是Formik组件根本没有显示,它只是一个空div,其他任何东西都可以完美地工作。这是一段代码,也许我遗漏了什么:Html Formik不显示在nextjs页面上?,html,reactjs,next.js,formik,Html,Reactjs,Next.js,Formik,我有一个“登录”组件,里面有一个带有Formik的div,只有一些姓氏和电子邮件表单,没有错误,但是Formik组件根本没有显示,它只是一个空div,其他任何东西都可以完美地工作。这是一段代码,也许我遗漏了什么: import Link from "next/link"; import Head from "next/head"; import styles from "../styles/Home.module.css"; impor
import Link from "next/link";
import Head from "next/head";
import styles from "../styles/Home.module.css";
import Login from "../components/Login";
export default function Home() {
return (
<>
<Head>
<title>login page</title>
</Head>
<h1>hello</h1>
<Login />
</>
);
}
从“下一个/链接”导入链接;
从“下一个/Head”导入Head;
从“./styles/Home.module.css”导入样式;
从“./components/Login”导入登录名;
导出默认函数Home(){
返回(
登录页面
你好
);
}
以及登录组件本身:
import { Formik } from "formik";
import { TextField } from "@material-ui/core";
const Login = () => {
return (
<div>
<Formik
initialValues={{ firstName: "", lastName: "", email: "" }}
onSubmit={data => {
console.log(data);
}}
>
{({ values, handleChange, handleBlur, handleSubmit }) => {
<form onSubmit={handleSubmit}>
<TextField
onChange={handleChange}
onBlur={handleBlur}
value={values.firstName}
/>
<TextField
onChange={handleChange}
onBlur={handleBlur}
value={values.lastName}
/>
<TextField
onChange={handleChange}
onBlur={handleBlur}
value={values.email}
/>
</form>;
}}
</Formik>
</div>
);
};
export default Login;
从“Formik”导入{Formik};
从“@material ui/core”导入{TextField}”;
常量登录=()=>{
返回(
{
控制台日志(数据);
}}
>
{({values,handleChange,handleBlur,handleSubmit})=>{
;
}}
);
};
导出默认登录;
因此,hello
出现在页面上,而应该包含登录组件的空div也出现了。
有什么问题吗?也许我只是瞎了眼,错过了一些简单的东西,或者有什么包问题?您必须在
Formik
子回调中返回JSX
{({values,handleChange,handleBlur,handleSubmit})=>{
返回(
);
}}
或速记语法:
{({values,handleChange,handleBlur,handleSubmit})=>(
)}
控制台中有错误吗?@LazarNikolic没有,只有一些不相关的警告。这很奇怪。我唯一想到的是你可能把它输入错了。你能用绝对路径代替相对路径吗?天哪,谢谢,我忘了它甚至是一个函数。。。我觉得自己很傻,谢谢,哈哈