当我想在子组件中使用操作时,我发现子组件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;
答案 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
。