特定の の子を見つけるために、この小さな関数を作成しましたtype
。
jQuery などのプロパティを介して子を選択できるようにしたいと考えています[name="example"]
。jQuery から文字列セレクター機能を取り除き、lodash のようなものにフィードするオブジェクト マップを作成する方法はあります_.find
か?
これは、配列を選択/検索/フィルタリングするための偽のソリューションであることは認識していますが、非常に役立つと思います。また、深い子を見つけられず、直接のルートの子を処理するだけであることも知っています。
これは既に反応内に存在しますか?
function containsElement (element, children) {
var result = []
element = _.flatten([element])
if (React.isValidElement(children) && !_.isArray(children)) {
var contains = _.contains(element, children.type)
if (contains) return children
return false
} else if (!React.isValidElement(children) && !_.isArray(children)) {
return false
}
children.forEach(function (child) {
var isElm = React.isValidElement(child)
var contains = _.contains(element, child.type)
if (isElm && contains) {
result.push(child)
}
})
if (!result.length) return false
return result
}