У меня есть общий компонент, который отображает его дочерние компоненты для фильтрации только дочерних элементов определенного типа, как показано ниже.
Однако использование свойства type
было просто предположением, и я не могу найти его документированным. Кроме того, запись в журнал показывает, что это функция, которая не может быть выполнена. Кроме того, есть пара вопросов, которые необходимо использовать при использовании Browserify.
Другой вариант - прочитать child.prototype.displayName. Но это тоже неправильно.
Вопрос: В принципе, я ищу надежный способ сравнить, равны ли два компонента ReactJS.
Пример
(Обновлено: не все так плохо)
var Foo = React.createClass({
render: function() {
return <div>Foo</div>;
}
});
var Bar = React.createClass({
render: function() {
return <div>Bar</div>;
}
});
var Main = React.createClass({
render: function() {
var filteredChildren = [];
filteredChildren = React.Children.map(function(child) {
if (child.type === Foo.type) {
return child;
}
});
return (
<div>
{filteredChildren}
</div>
);
}
});
React.render(<Main><Foo /><Bar /></Main>, document.body);