Remix中createRequest未定义问题求助:查找其依赖项
问题解决:Remix登录系统中createRequest未定义的问题
首先明确:你这个简易登录场景完全不需要使用createRequest——它是用来手动构建Request对象的API,仅在测试或内部请求场景才会用到,你的需求直接处理表单数据即可。
你的代码里有两个明显错误导致报错:
- 导入路径错误:
createRequest的正确来源是@remix-run/node,但你写成了run/node,路径缺失了@前缀。 - 代码笔误:你调用的
ccreateRequest多写了一个字母c,这也是导致未定义错误的原因之一。
修正后的代码(去掉无用的createRequest相关逻辑):
import { ActionFunction, redirect, ActionFunctionArgs } from "@remix-run/node" import { Form, useActionData } from "@remix-run/react"; export async function action({ request }: ActionFunctionArgs) { const formData = await request.formData(); // 直接从表单数据中取出用户名和密码 const username = formData.get("username") as string; const password = formData.get("password") as string; if (username === "admin" && password === "password") { return redirect("/dashboard"); } return { errorMessage: "Invalid username or password", }; }
如果确实有场景需要使用createRequest,正确的导入方式是:
import { createRequest } from "@remix-run/node";
内容的提问来源于stack exchange,提问作者user2626210
相关产品推荐
相关产品推荐

