当使用self组件作为子组件时,redux连接

时间:2017-04-27 07:22:20

标签: redux react-redux

当我想在子组件中使用操作时,我发现子组件Element未连接。

如何连接?

代码:

import { connect } from 'react-redux';
import * as actions from '../actions';

class Element extends React.Component {
    constructor(props) {
        super(props);
    }


    render() {
        let { children } = props.el.children;
        return (
            <div>
                 { children ? 
                     children.map(el => 
                         <Element key={ 'el-' + el.id } el={ el } />
                     )
                     :
                     null
                 }
            </div>
        )
    }
}

Element = connect(
    null
    ,
    actions
)(Element);

export default Element;

1 个答案:

答案 0 :(得分:0)

您正在自己的<Elemnt />函数中呈现render

如果您只想将孩子们传递到render组件的Element功能,那么只需将其更改为:

import { connect } from 'react-redux';
import * as actions from '../actions';

    class Element extends React.Component {
        constructor(props) {
            super(props);
        }

        render() {
            return (
                <div>
                     { this.props.children }
                </div>
            )
        }
    }

    Element = connect(
        null
        ,
        actions
    )(Element);

    export default Element;

请注意,包装器<div>在那里,因为当前版本的react只允许渲染体中的一个顶级元素,而this.props.children可以容纳多个element