Как передать параметр state в другой компонент?

Есть кнопка, нажимая на которую происходит присваивание значения к свойству visible
class Func1 extends Component {
    constructor(props) {
        super(props);
       
        this.state = {
            visible: false 
        }

        openForm = (event) => {
        this.setState({
            visible: true    /* <= присвоили true*/
        });
    }

    }
}


Вот сюда нужно передать это значение
class Func2 extends Component {
    constructor(props) {
        super(props);
       
        this.state = {
            visible:  /* вот сюда */
        }

    }
}
  • Вопрос задан
  • 4380 просмотров
Решения вопроса 2
rockon404
@rockon404 Куратор тега React
Frontend Developer
Можно сделать так:
class FormWidget extends Component {
  state={
    isFormVisible: false,
  };

  handleButtonClick = () => {
    this.setState(prevState => ({
      isFormVisible: !prevState.isFormVisible,
    }));
  }

  render() {
    const { isFormVisible } = this.state;
    const buttonText = isFormVisible ? 'Hide form' : 'Show form';

    return (
      <Wrapper>
        <Button onClick={this.handleButtonClick}>
          {buttonText}
        </Button>
        <Form isVisible={isFormVisible} />
      </Wrapper>
    )
  }
}


state из кнопки и формы следует убрать.
Конструкторы в react использовать не надо.
Ответ написан
gadfi
@gadfi
https://gamega.org
просто прокиньте в пропсы
...
<Funck2 visible = {this.state.visible}/>
...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 03:52
1000 руб./за проект
19 апр. 2024, в 03:01
1000 руб./за проект
18 апр. 2024, в 21:56
2000 руб./за проект