2016-12-05 5 views
0

Я работаю в приложении reactjs. Я хочу передать данные своим дочерним компонентам. У меня есть родительский компонент, а Test1 и Test2 - его дочерние компоненты. Также у меня есть постоянные данные в родительских компонентах. Я хочу передать те же данные во всех дочерних компонентах. Как я могу получить доступ к этой информации в Test1 компонента кода родителяПередача данных дочерним компонентам в реакциях

import React, {PropTypes} from 'react'; 
import {bindActionCreators} from 'redux'; 
import {connect} from 'react-redux'; 
import {load} from 'redux/modules/viewlodging'; 
import Test1 from './Test1'; 
import Test2 from './Test2'; 
@connect(
state => ({data: state.viewlodging.data}), 
dispatch => bindActionCreators({load}, dispatch)) 
export default class Viewlisting extends React.Component { 
static propTypes = { 
data: PropTypes.object, 
load: PropTypes.func.isRequired 
} 
render() { 
const {data} = this.props; 
return (
<div> 
    <div className="row font14 relative"> 
     <div className="container relative"> 
      <div className="col-md-8"> 
       <div className="row details"> 
        <{data.title}> 
       </div> 
      </div> 
      <div className="col-md-4" > 
       <Test1/> 
       <Test2/> 
      </div> 
     </div> 
    </div> 
</div> 
); 
} 
} 

В Test1

import React from 'react'; 
export default class Test1 extends React.Component { 
render() { 
return (
     <div className="summary-info"> 
      <div>From Test1</div> 
     </div> 
    ); 
} 
} 

Как получить доступ к данным в тесте?

ответ

4

Передайте его как реквизит, а затем получите его с помощью this.props.

В вы родитель добавить реквизит, который вы хотите передать:

<Test1 data={data}/> 

в вашем доступ ребенка к нему с this.props:

<div className="summary-info"> 
     <div>From Test1 - this is from parent {this.props.data}</div> 
    </div> 

Fiddle

+0

получения данных об ошибке отсутствует в проверке реквизита – user1820017

+0

@ user1820017 Какую ошибку вы точно получаете? – Boky

+0

после того, как я передал данные в соответствии с ответом на ур. Я получаю ошибку «данные отсутствуют» в проверке реквизита « – user1820017

Смежные вопросы