1

12 要素のセクション リストを作成します。これは私のコードです、

render() {
    return (
      <View style={styles.container}>
        <SectionList
          renderItem={({item}) =><Text onPress={() => alert(item)} style={styles.item}>{item}</Text> }
          sections={[
            {title: 'A', data: ['Audi']},
            {title: 'B', data: ['BMW']},
            {title: 'H', data: ['Honda', 'Hyundai']},
            {title: 'J', data: ['Jaguar']},
            {title: 'K', data: ['Kia']},
            {title: 'M', data: ['Mazda','Mercedes-Benz', 'Mitsubishi']},
            {title: 'N', data: ['Nissan']},
            {title: 'T', data: ['Toyota']},
            {title: 'V', data: ['Volkswagen']},
          ]}
          renderSectionHeader={({section}) => <Text style={styles.sectionHeader}>{section.title}</Text>}
          keyExtractor={(item, index) => index}
        />
      </View>
    );
  }

ここで、このリストのいずれかの項目を押してから、各画面に移動するかどうかを知る必要があります。つまり、Audi にタッチすると、Audi ページに移動します。これを行う方法?または、セクションリストなしでこれを行う方法はありますが、そのように見えますか?

4

2 に答える 2

0

まず、SectionList 画面と移動先の詳細画面をラップする必要があります。

リスト画面で、リスト内の各項目に onPress を追加します

navigateToDetail = car => {
  this.props.navigation.navigate(DetailScreen, {
     name: car
  }
}

render (){ 
  renderItem={({item}) =><Text onPress={navigateToDetail} style={styles.item}>{item}</Text> }
}

詳細画面でこれを行う必要があります

class DetailScreen extends Component {

 render() {
 const car = this.props.navigation.getParam("name", "novalue)

  return <Text>{car}</Text>
}
}

于 2020-03-22T14:38:51.843 に答える