我在Reaction是新手,因为我正在构建TODO应用程序,我在代码中面临的错误很少,因为我的代码运行不正常,我还想添加一个功能,就像在API中发生任何错误一样,我能够在我的前端显示它.

在解决了所有这些问题之后,我想知道导航是如何工作的,因为我想导航到Create-Todo路由.

我在Reaction是新手,因为我正在构建TODO应用程序,我在代码中面临的错误很少,因为我的代码运行不正常,我还想添加一个功能,就像在API中发生任何错误一样,我能够在我的前端显示它.

在解决了所有这些问题之后,我想知道导航是如何工作的,因为我想导航到Create-Todo路由.

import React, { useState } from 'react'
import { useNavigate } from 'react-router-dom';

export default function LoginPage() {
const[username , setUsernamne] = useState("");
const[password , setPassword] = useState("");
const navigate = useNavigate();
return (
<div>
.
.
.

</div>

<div style={{ paddingTop: "18px", paddingLeft: "10px", }}>
    <button onClick={async ()=>
        { await fetch("http://localhost:3005/signin",{ method: "POST", body: JSON({
        username: username, password: password }), headers:{ "content-type": "application/json",
        } }).then(async function(res){ const json = await res.json(); console.log(json);
        }) }} >Login
    </button>
</div>
)
}

推荐答案

这是您的更新,您需要的所有功能,以及还添加了路由的创建-待办事项.

需要解决的错误:-

1-"正文不能仅定义为JSON;您必须指定将JavaScript转换为字符串,这是通过使用‘JSON.stringify’来完成的."

2-"正如您的‘Content-Type’中所提到的,这是不正确的,您应该将其定义为‘Content-Type’:‘Application/json’."

3-在我们的前端应用错误时使用Try/Catch.

import React, { useState } from 'react'
import { useNavigate } from 'react-router-dom';

export default function LoginPage() {
    const[username , setUsernamne] = useState("");
    const[password , setPassword] = useState("");
    const navigate = useNavigate();
  return (
        <div>
         .
         .

        </div>
        <div style={{
            paddingTop:"18px",
            paddingLeft:"10px",
        }}>
            <button
                onClick={async ()=>{
                    try{
                        const response = await fetch("http://localhost:3005/signin",{
                            method: "POST",
                            body: JSON.stringify({
                                username: username,
                                password: password
                            }),
                            headers:{
                                "Content-type": "application/json",       
                            }
                        })
                        console.log(response);
                        if(!response.ok){
                            const errData = await response.json();
                            alert(errData.msg); // {backend error message }
                        }else{
                            navigate('/create-todo')
                        }
                    }catch(e){
                        alert("something error occured");
                    }
                }}
            >Login</button>
        </div>
    </div>
  )
}

Javascript相关问答推荐

根据总价格对航班优惠数组进行排序并检索前五个结果- Angular HTTP请求

Phaser框架-将子对象附加到Actor

react/redux中的formData在expressjs中返回未定义的req.params.id

仅针对RTK查询中的未经授权的错误取消maxRetries

无法检测卡片重叠状态的问题

如何使用子字符串在数组中搜索重复项

如何迭代叔父元素的子HTML元素

单个HTML中的多个HTML文件

如何将innerHTML字符串修剪为其中的特定元素?

如何将zoom 变换应用到我的d3力有向图?

有效路径同时显示有效路径组件和不存在的路径组件

与svg相反;S getPointAtLength(D)-我想要getLengthAtPoint(x,y)

构建器模式与参数对象输入

JavaScript&;Reaction-如何避免在不使用字典/对象的情况下出现地狱?

JAVASCRIPT SWITCH CASE语句:当表达式为';ALL';

我怎样才能点击一个元素,并获得一个与 puppeteer 师导航页面的URL?

无法使用Redux异步函数读取未定义的useEffect钩子的属性';map';

设置复选框根据选中状态输入选中值

Firefox的绝对定位没有达到预期效果

Reaction-在同一页内滚动导航(下拉菜单)