Реагировать на нативное, ключевое слово "this" не определено - PullRequest
0 голосов
/ 18 января 2020

, поэтому я хотел использовать this.props.navigation.navigate(), и я получил сообщение об ошибке неопределенный. после прочтения здесь в stockOverflow я увидел, что мне нужно объявить конструктор, подобный этому

constructor(props) {
    super(props);
    }

, однако это продолжает давать мне сообщение об ошибке ";" Это ожидалось независимо от того, что я делаю, вот упрощенная версия моего кода

const activityStyles = ActivitiesStyles.createStyles()
export default (props) => {
    const {item: event, sensorID, homeInfo} = props

  return (
<View style={activityStyles.linkContent} underlayColor={Colors.navigationBkgdActive}>
    <View style={{flex: 0.60, flexDirection: 'row'}}>
        <TouchableHighlight onPress={(event)=>{this.props.navigation.navigate("WalkThru")}}>
            <SensorIcon style={iconStyle} size={Typography.bodyLineHeight} type={event.type} />
        </TouchableHighlight>
        <TextInput
            placeholder={event.type}
            autoCapitalize={true}
            style={activityStyles.text}>
        </TextInput>
    </View>
</View>
 )

}

1 Ответ

1 голос
/ 18 января 2020

Как предложил Эмиль Бержерон, вы должны go с реквизитом, поскольку это ключевое слово доступно только для компонентов на основе классов.

Компонент на основе класса будет выглядеть следующим образом.

export default class componentName extends Component {
  constructor(props) {
    super(props)

    this.state = {

    }
  }

  render() {
    return (
        <TouchableHighlight
          <View style={activityStyles.linkContent} underlayColor={Colors.navigationBkgdActive}>
            <TouchableHighlight onPress={(event)=>{this.props.navigation.navigate("WalkThru")}}>
              <SensorIcon style={iconStyle} size={Typography.bodyLineHeight} type={event.type} />
            </TouchableHighlight>
              <TextInput
                placeholder={event.type}
              </TextInput>
          </View>
        </TouchableHighlight>
    )
  }
}

Кроме того, я могу предложить вам взглянуть на различия между функциональными компонентами без состояния и компонентами класса в React / React-Native.

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