Я просто хочу перенаправить пользователя после регистрации на странице профиля после проверки из файла сервера NodeJS.Я прошел маршруты в index.js вот так:
import { Route, BrowserRouter as Router } from 'react-router-dom';
import Home from './pages/home';
import Signup from './pages/signup';
import Signin from './pages/signin';
import Profile from './pages/profile';
ReactDOM.render(
<Router>
<div>
<Route exact path="/" component={Home} />
<Route path="/signup" component={Signup} />
<Route path="/signin" component={Signin} />
<Route path="/profile" component={Profile} />
</div>
</Router>,
document.getElementById('root')
);`
.Я использовал this.props.history
для перенаправления, а также экспортировал компонент «Регистрация» с withRouter
, и я устраняю неполадки, чтобы увидеть, монтируется ли компонент профиля, передав хук componentDidMount
, но это не так.Пользовательские данные хорошо сохраняются в базе данных и выдают ошибку:
Здесь запрос не выполнен с кодом состояния 404
, когда я пытаюсь перехватить запрос на публикациюи
xhr.js: 173 GET http://localhost:3000/profile 404 (не найдено)
Я передал "proxy": "http://localhost:4000/"
в package.json и withRouter APIв signup.js, однако, это не сработало.
signup.js
import React, { Component } from 'react';
import axios from 'axios';
import queryString from 'querystring';
import { Link, withRouter, Redirect } from 'react-router-dom';
class Signup extends Component {
constructor() {
super();
this.state = {
username: '',
password: '',
repassword: ''
}
}
handleUsernameChange = (e) => {
e.preventDefault();
this.setState({
username: e.target.value
})
}
handlePasswordChange = (e) => {
e.preventDefault();
this.setState({
password: e.target.value
})
}
handlePasswordConfirmChange = (e) => {
e.preventDefault();
this.setState({
repassword: e.target.value
})
}
handleSubmit = (e) => {
e.preventDefault();
axios.post('/signup', {
username: this.state.username,
password: this.state.password,
repassword: this.state.repassword
}).
then( res => {
this.props.history.push('/profile');
}).catch(err => {
console.log('Here', err.message);
})
Я пытался перенаправить API реакции-маршрутизатора-dom на importing Redirect from react-router-dom
и затем заменив this.props.history.push('\profile')
на return <Redirect to='\profile' />
, но это дало мне Proxy error: Could not proxy request /signup from localhost:3000 to http://localhost:4000/
.
package.json
"dependencies": {
"axios": "^0.18.0",
"query-string": "^6.4.2",
"react": "^16.8.5",
"react-bootstrap": "^1.0.0-beta.6",
"react-dom": "^16.8.5",
"react-router-dom": "^4.2.2",
"react-scripts": "2.1.8"
},
Любая помощь, предложение будет оценено,заранее спасибо !!.