props.children
。给出这样的内容:
const obj = {
a: 'val'
}
const Parent = () => <Child obj={obj} />
const Child = props => <GrandChild/>
const GrandChild = (...props) => <div>{JSON.stringify(props)}</div>
将打印:[{},{}]
更改Child
为
const Child = props => <GrandChild>child element</GrandChild>
将打印:[{"children":"child element"},{}]
所以我想第一个对象是为props.children
保留的
更改Child
为
const Child = props => <GrandChild a="sth else">child element</GrandChild>
将打印[{"a":"sth else","children":"child element"},{}]
那里仍然有一个空物体。删除...
上的Grandchild
会同时删除包围的数组和最后一个元素。
这个额外的元素是什么?为什么通过消除价差将其消除?
答案 0 :(得分:1)
使用props
和legacy context调用无状态组件。
const GrandChild = (props, context) => {
return <div>{context.something}</div>
}
GrandChild.contextTypes = {
something: PropTypes.string
}