Ответы пользователя по тегу React
  • Как поменять состояние у другого компонента в React?

    Вам необходимо поднять состояния от детей до общего родителя
    Ссылка на документацию: https://reactjs.org/docs/lifting-state-up.html

    App.js
    import React, { Component } from 'react';
    import Form from './Form';
    import Button from './Button';
    
    class App extends Component {
      state = {
        isChecked: false,
      }
      handleInputChange = event => {
        this.setState({ isChecked: event.target.checked })
      }
      handleButtonClick = () => {
        this.setState({ isChecked: !this.state.isChecked })
      }
      render() {
        return (
          <div className="App">
            <Form
              handleInputChange={this.handleInputChange}
              isChecked={this.state.isChecked}
              />
            <Button handleButtonClick={this.handleButtonClick}/>  
          </div>
        );
      }
    }
    
    export default App;


    Button.jsx
    import React from 'react';
    
    const Button = ({ handleButtonClick }) => (
      <div>
        <button onClick={handleButtonClick}>
          clickme
        </button>
      </div>
    )
    
    export default Button;


    Form.jsx
    import React from 'react';
    
    const Form = ({ isChecked, handleInputChange }) => (
        <input
            type="checkbox"
            checked={isChecked}
            onChange={handleInputChange}
        />
    )
    
    export default Form;
    Ответ написан
    Комментировать