为了账号安全,请及时绑定邮箱和手机立即绑定

React - Django:TypeError:无法读取未定义的属性“令牌”

React - Django:TypeError:无法读取未定义的属性“令牌”

弑天下 2023-06-09 15:17:14
我正在尝试使用 react 和 django rest 登录。我有登录后端的 rest-auth,用户来自 LDAP。django 上的登录有效。当从 React 调用时,我的后端的响应也有效。我尝试使用 react-cookie 将我的令牌保存在 cookie 中。但是当我这样做时,出现错误:TypeError: Cannot read property 'token' of undefined我拆分了我的代码。我有一个文件 api_auth_service.jsexport class APILogin {    static loginUser(body){        return fetch('http://127.0.0.1:8000/rest-auth/login/', {            method: 'POST',            headers: {                'Content-Type': 'application/json'            },            body: JSON.stringify(body)        }).then( resp => resp.json())    }}和我的登录视图反应:export default function Login() {  const [ username, setUsername] = useState('');  const [ password, setPassword] = useState('');  const [token, setToken] = useCookies(['gra-token']);  useEffect(() => {    console.log(token);  }, [token])  const loginClicked = () => {    APILogin.loginUser({username, password})    .then( resp => console.log(resp))    .then(resp => setToken('gra-token', resp.token))    .catch( error => console.log(error))  }  return ( .............正如您所看到的,保存到我的 cookie 中的显然不是令牌
查看完整描述

1 回答

?
侃侃尔雅

TA贡献1801条经验 获得超15个赞

const loginClicked = () => {

 APILogin.loginUser({username, password})

 .then( resp => resp)

 .then(resp => setToken('gra-token', resp.token))

 .catch( error => console.log(error))

}

您需要从第一个 then 语句返回 resp


查看完整回答
反对 回复 2023-06-09
  • 1 回答
  • 0 关注
  • 100 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信