Reactjs 我如何把道具从孩子身上拉到父母身上?
我试图从子react组件(createForm)到父组件(const app)提取一个单独的属性值(props.createForm.pro.value),以便切换样式 我在控制台中遇到此错误:“无法读取未定义的属性'pro'” 以下是我在App.js中的内容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
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中