【问题标题】:Passing data to child components in reactjs将数据传递给 reactjs 中的子组件
【发布时间】:2016-12-05 12:24:30
【问题描述】:

我正在使用 reactjs 应用程序。我想将数据传递给它的子组件。我将 Parent 作为父组件,将 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>
);
}
}

在测试1中

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

如何访问Test中的数据?

【问题讨论】:

    标签: node.js reactjs express


    【解决方案1】:

    将其作为props 传递,然后使用this.props 访问它。

    在您的父母中添加您要传递的props:

    <Test1 data={data}/>
    

    在您的孩子中使用this.props 访问它:

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

    这里是fiddle

    【讨论】:

    • 在我按照您的回答传递数据之后。我收到错误“道具验证中缺少'数据'”
    • 数据对我来说是个大问题
    • @user1820017 然后是您的数据中的错误。检查您从数据中获得的内容。检查更新答案中的小提琴。这是将道具从父母传递给孩子的正确方法。尝试将console.log(data) 放在const {data} = this.props 的正下方,看看你在控制台中得到了什么。
    • 是检查,它的日志对象在 const {data} = this.props 正下方,但现在我确实收到错误“提供给Test1 的string 类型的无效道具data,预期@ 987654333@.检查渲染方法”
    • @user1820017 这表示您的数据是字符串而不是对象。在static propTypes = {data: PropTypes.object} 中,您说数据需要是一个对象,但它是一个字符串。那是警告而不是错误。您的应用程序应该可以工作。尝试使用 &lt;Test1 test="From parent"/&gt; 然后在 Test &lt;div className="summary-info"&gt;{this.props.test}&lt;/div&gt; 中。你看到来自父母吗?
    猜你喜欢
    • 2017-11-18
    • 1970-01-01
    • 2018-08-27
    • 1970-01-01
    • 2021-06-10
    • 1970-01-01
    • 1970-01-01
    • 2017-06-12
    • 2022-12-14
    相关资源
    最近更新 更多