2017-02-12 16 views
0

商品を掲載するためのコンポーネントがあります。別のページに行くことができる機能を追加したいと思います。現在、これは商品を掲載するための私のコードです。React Nativeでページをナビゲートする方法

import React, { Component } from 'react'; 
import { ScrollView } from 'react-native'; 
import axios from 'axios'; 
import CarDetail from './CarDetail'; 

const API_URL = 'http://localhost:3000'; 

class CarList extends Component { 
    state = { cars: [] }; 

    componentWillMount() { 
    console.log('Mount'); 
    axios.get(`${API_URL}/cars`) 
    .then(response => this.setState({ cars: response.data.cars })); 
    } 

    renderCars() { 
    return this.state.cars.map(car => <CarDetail key={car.id} car={car} /> 
    ); 
    } 

    render() { 
    console.log(this.state.cars); 
    return (
     <ScrollView> 
     {this.renderCars()} 
     </ScrollView> 
    ); 
    } 
} 

export default CarList; 

と、これはアイテム

import React from 'react'; 
import { Text, View, Image } from 'react-native'; 
import { Actions } from 'react-native-router-flux'; 
import Card from '../material/Card'; 
import CardSection from '../material/CardSection'; 


const CarDetail = ({ car }) => { 
    const imageURI = 'https://yt3.ggpht.com/-HwO-2lhD4Co/AAAAAAAAAAI/AAAAAAAAAAA/p9WjzQD2-hU/s900-c-k-no-mo-rj-c0xffffff/photo.jpg'; 
    const { make, model } = car; 
    function showCarDetail() { 
    Actions.showCar(); 
    } 
    return (
     <Card> 
     <CardSection> 
     <View style={styles.containerStyle}> 
     <Image 
     style={styles.imageStyle} 
     source={{ uri: imageURI }} 
     /> 
     </View> 
     <View style={styles.headContentStyle}> 
     <Text 
     style={styles.headerTextStyle} 
     onPress={showCarDetail()} 
     > 
     {make} 
     </Text> 
     <Text>{model}</Text> 
     </View> 
     </CardSection> 
     <CardSection> 
      <Image 
      style={styles.picStyle} 
      source={require('./car.jpg')} 
      /> 
     </CardSection> 
     </Card> 
    ); 
}; 

const styles = { 
    headContentStyle: { 
    flexDirection: 'column', 
    justifyContent: 'space-around' 
    }, 
    headerTextStyle: { 
    fontSize: 18 
    }, 
    imageStyle: { 
    height: 50, 
    width: 50 
    }, 

    containerStyle: { 
    justifyContent: 'center', 
    alignItems: 'center', 
    marginLeft: 10, 
    marginRight: 10 
    }, 

    picStyle: { 
    height: 300, 
    flex: 1, 
    width: null 
    } 
}; 

export default CarDetail; 

どのように私はそのための私のコードを変更することができますを記述するためのコードですか?誰か私に例を与えることができますか?

答えて

0

何らかのナビゲーションコンポーネントを使用する必要があります。そこには多くのものがありますが、私は個人的にReact Nativeに組み込まれているものを使用します。 https://facebook.github.io/react-native/docs/navigator.html

+0

はい、私はこれまでにしました。しかし、私がリストを表示すると、そのページは自動的にその詳細ページに送られます。これは私が望むものではありません。以前と同じようにリストページを表示できることを願っています。詳細ページは、テキストをクリックした後にのみ表示されます –

関連する問題