为什么数据为空?反应 + 终极版
Why Data is null? React + Redux
为什么数据为空?反应 + 终极版。这是我第一次使用 Redux。
这是我的要求。该请求运行良好。状态为 200 并请求 return 我的数据
const API_URL = "http://URL/";
class AuthService {
static async onHandleSignIn(login: string, password: string) {
await fetch(API_URL + 'api/Auth/signIn', {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
'login': login,
'password': password
})
}).then(response =>
response.json().then(data => ({
data: data,
status: response.status
})).then(res => {
if (res.status === 200) {
localStorage.setItem('token', res.data.token);
return res.data
}
})
)
}
}
export default AuthService;
我尝试用另一种方法获取数据,它们 return 未定义。控制台显示数据未定义。
import AuthService from "../../../api/requests/authorization";
export const login = (username: string, password: string) => (dispatch: any) => {
return AuthService.onHandleSignIn(username, password).then(
(data) => {
console.log(data) //data = undefined
dispatch({
type: "LOGIN_SUCCESS",
payload: {user: data},
});
return Promise.resolve();
},
(error) => {
dispatch({
type: "LOGIN_FAIL",
});
console.log(error)
return Promise.reject();
}
);
};
正如我所说,这是我第一次接触 Redux。我很乐意提供任何帮助。 TY)
尝试以下操作,您需要 return await fetch...
class AuthService {
static async onHandleSignIn(login: string, password: string) {
return await fetch(API_URL + 'api/Auth/signIn', {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
'login': login,
'password': password
})
}).then(response =>
response.json().then(data => ({
data: data,
status: response.status
})).then(res => {
if (res.status === 200) {
localStorage.setItem('token', res.data.token);
return res.data
}
})
)
}
}
export default AuthService;
为什么数据为空?反应 + 终极版。这是我第一次使用 Redux。
这是我的要求。该请求运行良好。状态为 200 并请求 return 我的数据
const API_URL = "http://URL/";
class AuthService {
static async onHandleSignIn(login: string, password: string) {
await fetch(API_URL + 'api/Auth/signIn', {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
'login': login,
'password': password
})
}).then(response =>
response.json().then(data => ({
data: data,
status: response.status
})).then(res => {
if (res.status === 200) {
localStorage.setItem('token', res.data.token);
return res.data
}
})
)
}
}
export default AuthService;
我尝试用另一种方法获取数据,它们 return 未定义。控制台显示数据未定义。
import AuthService from "../../../api/requests/authorization";
export const login = (username: string, password: string) => (dispatch: any) => {
return AuthService.onHandleSignIn(username, password).then(
(data) => {
console.log(data) //data = undefined
dispatch({
type: "LOGIN_SUCCESS",
payload: {user: data},
});
return Promise.resolve();
},
(error) => {
dispatch({
type: "LOGIN_FAIL",
});
console.log(error)
return Promise.reject();
}
);
};
正如我所说,这是我第一次接触 Redux。我很乐意提供任何帮助。 TY)
尝试以下操作,您需要 return await fetch...
class AuthService {
static async onHandleSignIn(login: string, password: string) {
return await fetch(API_URL + 'api/Auth/signIn', {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
'login': login,
'password': password
})
}).then(response =>
response.json().then(data => ({
data: data,
status: response.status
})).then(res => {
if (res.status === 200) {
localStorage.setItem('token', res.data.token);
return res.data
}
})
)
}
}
export default AuthService;