Reactjs 我如何把道具从孩子身上拉到父母身上?

Reactjs 我如何把道具从孩子身上拉到父母身上?,reactjs,redux,Reactjs,Redux,我试图从子react组件(createForm)到父组件(const app)提取一个单独的属性值(props.createForm.pro.value),以便切换样式 我在控制台中遇到此错误:“无法读取未定义的属性'pro'” 以下是我在App.js中的内容 import React, {PropTypes} from 'react'; import {Row, Col} from 'react-bootstrap'; import SocialLogin from

我试图从子react组件(createForm)到父组件(const app)提取一个单独的属性值(props.createForm.pro.value),以便切换样式

我在控制台中遇到此错误:“无法读取未定义的属性'pro'”

以下是我在App.js中的内容

import React, {PropTypes}   from 'react';
import {Row, Col}           from 'react-bootstrap';

import SocialLogin from '../../react/containers/investability/member/components/form/SocialLogin/SocialLogin';

/*
 *  App Container
 *  login_page
 */

const App = (props) => {

    let showSocial = (props.createForm.pro.value) ? 'login-modal-social' : 'login-modal-social hidden';
    let showOr = (props.createForm.pro.value) ? 'login-modal-or' : 'login-modal-or hidden';
    let setStylePro = (props.createForm.pro.value) ? 'login-modal-form' : 'login-modal-form login-modal-form-set-style-pro';

    return (
        <div className="container-fluid">

            <div className="login-modal-wrapper">

                <Row className="login-modal-content">

                    <Col md={5} className={setStylePro}>
                    {/*<Col md={5} className='login-modal-social'>*/}
                        {props.children}
                    </Col>

                    <Col md={2} className={showOr}>
                    {/*<Col md={2} className='login-modal-or'>*/}

                        <div>or</div><hr/>
                    </Col>

                    <Col md={5} className={showSocial}>
                    {/*<Col md={5} className='login-modal-form'>*/}
                        <SocialLogin {...props} />
                    </Col>

                </Row>

            </div>

        </div>
    );
};

App.propTypes = {
    children: PropTypes.element
};

export default App;
import React,{PropTypes}来自'React';
从'react bootstrap'导入{Row,Col};
从“../../react/containers/investability/member/components/form/SocialIn/SocialIn”导入SocialIn;
/*
*应用程序容器
*登录页面
*/
常量应用=(道具)=>{
让showSocial=(props.createForm.pro.value)?“登录模式社交”:“登录模式社交隐藏”;
让showOr=(props.createForm.pro.value)?'login modal or':'login modal or hidden';
让setStylePro=(props.createForm.pro.value)-“登录模式窗体”:“登录模式窗体登录模式窗体设置样式pro”;
返回(
{/**/}
{props.children}
{/**/}
或
{/**/} ); }; App.propTypes={ 子项:PropTypes.element }; 导出默认应用程序;
在子组件中,我有一个div:

                        <CheckboxInput
                                checked={this.props.form.pro.value}
                                className="form control"
                                help_default={this.props.form.pro.help_default}
                                help_error={this.props.form.pro.help_error}
                                help_success={this.props.form.pro.help_success}
                                label={<span className="form-checkbox-text">
                                {proCreateFormVisible} I am a real estate professional
                                    </span>}
                                name={this.props.form.pro.name}
                                onChange={this.props.onChange}
                                required={false}
                                validationState={null}
                                value={this.props.form.pro.value}
                            />


看到这一点,你发布的代码没有显示
createForm
被传递到任何地方,因此你会得到
未定义的
也就不足为奇了。你希望
createForm
引用什么?嗨,Aaron,createForm是一个道具名称——我将它们从initialState.js导出到createForm减速器,然后将该减速器拉到rootReducer中