怎样才可以有父组件路由到主页一旦子组件在注册成功呢?

问题描述 投票:0回答:1

我希望我的父组件App.js路由到'/home'如果孩子组件LoginApp有回一个响应。 (所有的校验发生的是服务器端,因此响应将仅当认证成功复出)。

// Child Component

 const LoginApp = () => {
  const signupWasClickedCallback = (data) => {
console.log(data);


// ----- Adding Favourites
axios.post('/api/account/signup', data)
  .then(function (res) {
    console.log(res);

  })
  .catch(function (err) {
    console.log(err);
  });

 };
    const loginWasClickedCallback = (data) => {
   console.log(data);

axios.post('/api/account/signin', data)
  .then(function (res) {
    console.log(res);
  })
  .catch(function (err) {
    console.log(err);
  });
  };

return (
<div className="loginWrapper">
  <ReactSignupLoginComponent
    title="Welcome to KidKlub!"
    handleSignup={signupWasClickedCallback}
    handleLogin={loginWasClickedCallback}
  />
</div>
);


  };


export default LoginApp;




  // Parent Component

  class App extends Component {
   render() {
     return (
    <Router>
    <div>
      <Route exact path="/" component={LoginApp} />
      <Route exact path="/home" component={Home} />
    </div>
  </Router>
      );
       }
  }

 export default App;
reactjs react-router react-router-v4 bcrypt mern
1个回答
0
投票

你可以这样做的:

.then(function (res) {
console.log(res);
props.history.push('/home');
})
.catch(function (err) {
console.log(err);
props.history.push('/');
});

从反应路由器-DOM使用withRouter

import { withRouter } from 'react-router-dom';

包你withRouter组件

export default withRouter(LoginApp);
© www.soinside.com 2019 - 2024. All rights reserved.