考虑一下
let searchController = UISearchController(searchResultsController: nil)
searchController.searchResultsUpdater = self
searchController.delegate = self
searchController.hidesNavigationBarDuringPresentation = false
searchController.dimsBackgroundDuringPresentation = false
如何避免明确地通过中间组件传递Parent component (prop: textColor)
intermediate component 1
intermediate component 2
intermediate component N
Component with text (needs textColor)
?
对于Context而言,这是一个很好的用例,即使它有不同原因阻止其使用的警告吗?
答案 0 :(得分:1)
如果textColor
没有变更/不属于州,您可以将其定义为变量并按需导入。
否则,您应该使用上下文,因为这正是它的用例。
在某些情况下,您希望通过组件树传递数据,而不必在每个级别手动传递道具
答案 1 :(得分:1)
正如leo建议的那样,使用上下文:
class ParentComponent extends React.Component {
static childContextTypes = {
someContext: React.PropTypes.string
};
getChildContext() {
return {
someContext: 'foo-bar'
};
}
}
然后第N个子组件执行:
class NthChild extends React.Component {
static contextTypes = {
someContenxt: React.PropTypes.string
};
render() {
// this.context.someContext is available here
}
}