作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我可以在 .then
而不是 console.log
中重定向吗?
axios
.post('/api/users/login', user)
.then(res => console.log(res.data))
.catch(err => this.setState({ errors: err.response.data }))
这可能吗?如果可能,我该怎么做?
最佳答案
我建议您不要在操作中执行辅助操作(在本例中为 axios 调用)。这是因为您最终会将这些调用添加到 redux thunk/saga 或其他一些中间件中。
我遵循的模式是您返回 promise 并在您的组件(或容器)中添加重定向逻辑。以下是它的好处:-
现在,话虽如此,您可以通过以下方式使用上述逻辑:-
// Component code
import { browserHistory } from 'react-router';
class TestContainer extends React.Component {
auth = () => {
login()
.then(() => {
browserHistory.push("/addUser");
})
.catch(() => {
// Show alert to user;
})
}
render () {
return (
<div>
<button onClick={this.auth}>Auth</button>
</div>
);
}
}
// Action code
const login = () => {
return axios
.post('/api/users/login', user);
}
关于reactjs - 如何在 axios 中重定向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51588360/
我是一名优秀的程序员,十分优秀!