реагировать нативно, как получить переменную из повторно используемого компонента - PullRequest
0 голосов
/ 09 октября 2019

я хочу повторно использовать этот компонент

render() {
    return (



        <SelectionGroup
            renderContent={this.renderButton}
            items={this.props.items}
            onPress={this.selectionHandler.selectionHandler}
            isSelected={this.selectionHandler.isSelected}
            containerStyle={styles.answers}
            onItemSelected={(item) => this.setState({ selectedAnswer: item.value })}
        />



    );}

с главного экрана. Мне удается отправить элементы в группу выбора

import Selection from './selectionGroup'

      <Selection
      items={cofeeType.options}
      />

Моя проблема в том, что я не знаю, как получитьвернуть выбранный ответ из повторно используемого компонента

1 Ответ

1 голос
/ 09 октября 2019

вы должны отправить обратный вызов для установки значения вашего родительского состояния

constructor(props){
  super(props)
  this.state={
    answers=[]
  }
}

handleAnswers=(answers)=>{
  this.setState({answers})
}

      <Selection
      handleAnswers={this.handleAnswers}
      items={cofeeType.options}
      />

в компоненте обрабатывать обратный вызов

handleValue=(answers)=>{
  const {handleAnswers}=this.props;
  handleAnswers(answers)
  this.setState({ selectedAnswer: item.value });
}

render() {

  return (



      <SelectionGroup
          renderContent={this.renderButton}
          items={this.props.items}
          onPress={this.selectionHandler.selectionHandler}
          isSelected={this.selectionHandler.isSelected}
          containerStyle={styles.answers}
          onItemSelected={this.handleValue}
      />



  );}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...