Вы можете использовать React Router
или Conditional Rendering
для вызова различных компонентов по нажатию кнопки.
Вот пример использования router
, сначала обязательно установите react-router-dom
и импортируйте необходимые компоненты:
import {BrowserRouter as Router,Switch,Route,Link} from "react-router-dom";
и внутри метода возврата, используйте это:
<Router>
<nav>
<ul>
<li><Link to="/">Home</Link></li>
<li><Link to="/about">About</Link></li>
<li><Link to="/users">Users</Link></li>
</ul>
</nav>
<Switch>
<Route path="/about"> <About /> </Route>
<Route path="/users"> <Users /> </Route>
<Route path="/"> <Home /> </Route>
</Switch>
</div>
</Router>
Используя Conditional Rendering
и используя states
:
- Первоначально установите состояние в
false
(скажем, isTrue
- наша переменная) - при нажатии кнопки -> внутри метода, который вы вызовете (здесь это будет
handleClick
), установите состояние в true.
Теперь в методе возврата:
<div>
{
this.state.isTrue ?
<div> <YourComponent /> </div>:
<div>
<h1>Create Account</h1>
<button onClick={handleClick}>Submit</button>
</div>
}
</div>
По аналогичной мысли, проверьте эти:
https://reacttraining.com/react-router/web/guides/quick-start
https://reactjs.org/docs/hooks-state.html
https://reactjs.org/docs/conditional-rendering.html