【发布时间】:2017-09-08 06:53:02
【问题描述】:
我正在关注 react-redux 教程:http://redux.js.org/docs/basics/ExampleTodoList.html
查看 link.js,我想知道 {children} 来自哪里
从“反应”导入反应 从 'prop-types' 导入 PropTypes const Link = ({ active, children, onClick }) => { 如果(主动){ 返回{孩子} } 返回 ( { e.preventDefault() 点击() }} > {孩子们} ) } Link.propTypes = { 活动:PropTypes.bool.isRequired, 孩子:PropTypes.node.isRequired, onClick:PropTypes.func.isRequired } 导出默认链接link.js 被容器组件 FilterLink.js 使用。 FilterLink 传递“活动”值和 onclick 函数,但没有显式子项传递给 link.js
从'react-redux'导入{连接} 从“../actions”导入 { setVisibilityFilter } 从“../components/Link”导入链接 const mapStateToProps = (state, ownProps) => { 返回 { 活动:ownProps.filter === state.visibilityFilter } } const mapDispatchToProps = (dispatch, ownProps) => { 返回 { onClick: () => { 调度(setVisibilityFilter(ownProps.filter)) } } } 常量 FilterLink = 连接( mapStateToProps, mapDispatchToProps )(关联) 导出默认 FilterLink请澄清。
【问题讨论】:
-
这会有所帮助:medium.com/@iktakahiro/…。但简短的回答是
functional components接受对象类型的参数。这通常称为props。({ active, children, onClick })这更像是const { active, children, onClick } = props。此外,对于任何组件,prop是第一个参数,state是第二个 -
注意,
SFC不会有第二个道具 (state)。由于它是无状态的,因此拥有状态是没有意义的。 -
mxstbr.blog/2017/02/react-children-deepdive 来自 filterlink 的子节点被传递给链接,您连接到 FilterLink 以链接...
TEXT 中的所有文本或其他节点将在内部传递给链接并呈现
标签: javascript reactjs react-redux