Html Formik不显示在nextjs页面上?

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

我有一个“登录”组件,里面有一个带有Formik的div,只有一些姓氏和电子邮件表单,没有错误,但是Formik组件根本没有显示,它只是一个空div,其他任何东西都可以完美地工作。这是一段代码,也许我遗漏了什么:

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没有,只有一些不相关的警告。这很奇怪。我唯一想到的是你可能把它输入错了。你能用绝对路径代替相对路径吗?天哪,谢谢,我忘了它甚至是一个函数。。。我觉得自己很傻,谢谢,哈哈