我想在ajax响应之后重定向到主页我使用Redirect但没有工作
$.ajax({
method: 'post',
data: {req: data2},
url: baseUrl+'sentOtp',
success: function(response){
console.log(response);
if (response.status === "success") {
return <Redirect to="/" />;
}
}
});
Route.js
ReactDOM.render(
<Router>
<Switch>
<Route exact path="/" component={App} />
<Route path="/pdeals/:BrandName/all/:Type" component={BrowseFeedDeals} />
<Route path="/login" component={Register} />
</Switch>
</Router>, document.getElementById('root'));
registerServiceWorker();
我使用react-router-dom和更新版本。但它没有将我重定向到主页并且在控制台中没有错误
答案 0 :(得分:1)
你应该使用history.push。请参阅下面的示例:
<强> index.js 强>
import React, { Component } from 'react'
import { render } from 'react-dom'
import { Router, Route, BrowserHistory as hashHistory, Switch } from 'react-router-dom'
import './style.css'
import history from './history.js'
import Home from './routes/home.js'
class App extends Component {
constructor() {
super()
this.state = {
}
}
render() {
return (
<Router history={history}>
<Switch>
<Route exact path='/' component={Home}/>
</Switch>
</Router>
)
}
}
render(<App />, document.getElementById('root'));
<强> history.js 强>
import createHistory from 'history/createBrowserHistory'
export default createHistory()
<强>组件强>
import React from 'react'
import styled from 'styled-components'
import history from '../../history.js'
export default class NavBar extends React.Component {
linkClick() {
history.push('/')
}
render() {
return <div onClick={this.linkClick}>
</div>
}
}