Задать вопрос

Как передать параметр 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:  /* вот сюда */
        }

    }
}
  • Вопрос задан
  • 4430 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 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}/>
...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы