child 从 parent 继承所有属性的方法
Way for child to inherit all properties from parent
我有三个组件组成我想调用的第四个 Search
。
<SearchContainer>
{this.props.withFilter ? <SearchFilter>Filter Orders </SearchFilter> : null}
<SearchBox withFilter={this.props.withFilter}'/>
</SearchContainer>
但是,SearchBox
组件本身需要几个道具。
{
action: React.PropTypes.string,
name: React.PropTypes.string,
method: React.PropTypes.string,
placeholder: React.PropTypes.string,
withFilter: React.PropTypes.boolean
}
我希望能够调用 Search
组件并能够将一大堆道具传递给 SearchBox
,而不必将每个属性都添加到 Search
中。有没有办法让 child 继承 parent 的道具?
理想情况下,我可以将道具传递给 Search
并且 SearchBox
可以访问它们,而无需我明确地编写每个属性。
<Search placeholder='Hi'>
正如 Carl Groner 在上面的评论中所说 spread attributes
成功了。
var React = require('react')
var SearchContainer = require('../shopify-react-ui/SearchContainer')
var SearchFilter = require('../shopify-react-ui/SearchFilter')
var SearchBox = require('../shopify-react-ui/SearchBox')
module.exports = React.createClass({
displayName: 'Search',
propTypes: {
withFilter: React.PropTypes.boolean
},
render: function () {
return (
<div>
<SearchContainer>
{this.props.withFilter ? <SearchFilter>Filter Orders </SearchFilter> : null}
<SearchBox {...this.props}/>
</SearchContainer>
</div>
)
}
})
然后你可以像这样使用这个组件:
<Search placeholder='Hi Mom!'/>
我有三个组件组成我想调用的第四个 Search
。
<SearchContainer>
{this.props.withFilter ? <SearchFilter>Filter Orders </SearchFilter> : null}
<SearchBox withFilter={this.props.withFilter}'/>
</SearchContainer>
但是,SearchBox
组件本身需要几个道具。
{
action: React.PropTypes.string,
name: React.PropTypes.string,
method: React.PropTypes.string,
placeholder: React.PropTypes.string,
withFilter: React.PropTypes.boolean
}
我希望能够调用 Search
组件并能够将一大堆道具传递给 SearchBox
,而不必将每个属性都添加到 Search
中。有没有办法让 child 继承 parent 的道具?
理想情况下,我可以将道具传递给 Search
并且 SearchBox
可以访问它们,而无需我明确地编写每个属性。
<Search placeholder='Hi'>
正如 Carl Groner 在上面的评论中所说 spread attributes
成功了。
var React = require('react')
var SearchContainer = require('../shopify-react-ui/SearchContainer')
var SearchFilter = require('../shopify-react-ui/SearchFilter')
var SearchBox = require('../shopify-react-ui/SearchBox')
module.exports = React.createClass({
displayName: 'Search',
propTypes: {
withFilter: React.PropTypes.boolean
},
render: function () {
return (
<div>
<SearchContainer>
{this.props.withFilter ? <SearchFilter>Filter Orders </SearchFilter> : null}
<SearchBox {...this.props}/>
</SearchContainer>
</div>
)
}
})
然后你可以像这样使用这个组件:
<Search placeholder='Hi Mom!'/>