2016-07-06 20 views
2

React Nativeのコンポーネントにデータ構造を渡すときに、propsの構文に問題があります。もし誰かが私が「FemaleInfo」を渡すことによってコンポーネント 'DisplayPerson'を再利用する方法を見てもらえるように助けてくれたら、もう一度 'MaleInfo'がそれを感謝します。データをReact Nativeのコンポーネントに渡しますか?

var FemaleInfo = [ 
    {name: 'Jane Doe', age: 23, occupation: 'Carpenter'}, 
    {name: 'Kate Ryan', age: 31, occupation: 'Lawyer'}, 
    {name: 'Ellen Anderson', age: 42, occupation: 'Doctor'} 
]; 

var MaleInfo = [ 
    {name: 'John Doe', age: 23, occupation: 'Carpenter'}, 
    {name: 'Jack Douglas', age: 31, occupation: 'Lawyer'}, 
    {name: 'Rick Smith', age: 42, occupation: 'Doctor'} 
]; 

var DisplayPerson = React.createClass({ 
    getInitialState: function() { 
     return { 
      name: FemaleInfo[0].name, 
      age: FemaleInfo[0].age, 
      occupation: FemaleInfo[0].occupation 
     }; 
    }, 
    render() { 
     return (
      <Text style={styles.data}> 
       {this.state.name} 
      </Text> 
      <Text style={styles.data}> 
       {this.state.age} 
      </Text> 
      <Text style={styles.data}> 
       {this.state.occupation} 
      </Text> 
}) 

答えて

2

DisplayPersonの親コンポーネントを作成します。情報を親から子に渡し、子コンポーネント内の小道具を使用します。

とDisplayPersonコンポーネント内の情報を使用しますよう

何か。

render() { 
    let info = this.props.info; 
    return (
     <View> 
      <Text style={styles.data}> 
       {info.name} 
      </Text> 
      <Text style={styles.data}> 
       {info.age} 
      </Text> 
      <Text style={styles.data}> 
       {info.occupation} 
      </Text> 
     </View>) 
} 
+0

私のために働いています。この例では、私がやろうとしていることの簡単な例を示しましたが、実際のコードでは私は状態を使用しています。それが問題だろうか? 'getInitialState::機能(){私は ' ' そしてDisplayInfoコンポーネント内...など、それを呼び出しています info = this.props.info; リターン{度:I、 名:インフォ[I] .nameの、 年齢:インフォ[I] .age、 職業:インフォ[I] .occupation }。 }、 ' –

+0

上記の例では、stateを使用できます。それが動作します。しかし、私の理解の通り、それは必要ありません。 –

+0

ありがとう!これは私がそれを把握するのに役立ちました! –

関連する問題