【发布时间】:2019-12-10 02:54:08
【问题描述】:
是否存在一些总是从父组件向下传递给子组件的默认 props 对象?
我知道可以将 props 从父组件传递给某些子组件,例如:
<div>
<ChildComponent color="blue" otherProp=false />
</div>
并通过props.color 和props.otherProp 在子组件中访问它们...
但是如果我不为我的子组件创建 props,是否仍然存在一些默认的 props 对象(或者可能是一些 props 元对象)以及该子组件的附加信息?
例如,我看到一些匹配对象由 React-router 库自动创建并传递给匹配某些路由路径时呈现的组件,例如:
<Route path={`${match.path}/:name`}
render= {({match}) =>( <div> <h3> {match.params.name} </h3></div>)}/>
我只是想知道在这个例子中,({match}) 对象是从哪里来的,当它作为参数传递给 render prop 函数时......
【问题讨论】:
-
你应该看看render props
-
嗯我不明白那部分:
<Mouse render={mouse => ( <Cat mouse={mouse} /> )}/>传递给函数的这个{mouse =>参数是什么?它是event对象的占位符吗?当onMouseMove事件被触发时被触发?我在鼠标组件中没有看到与{this.props.render(this.state)}的连接 -
编辑:好的,我想我明白了,
mouse是从鼠标组件的this.props.render函数传递的this.state对象,它本身被传递给 cat 组件......跨度>
标签: javascript reactjs react-router react-props