我有一个通用组件,该组件将其子组件映射为仅过滤某种类型的子组件,如下所示。
但是,使用该属性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);
我认为您的例子是正确的。
实际上,在React 0.12中child.type === Foo.type
是唯一可行的比较。
这与React
0.12正在弃用包装函数有关。
当0.13输出时,child.type
其本身将为Foo
。
Nitpick:请不要使用this.props.children.map
,当孩子少于两个时,这将不起作用。
使用React.Children.map
代替。
本文向大家介绍JS组件中bootstrap multiselect两大组件较量,包括了JS组件中bootstrap multiselect两大组件较量的使用技巧和注意事项,需要的朋友参考一下 两个这种组件,大体样式和功能基本相同,本文就来带领大家看看这两个组件的用法。 一、组件说明以及API 1、第一个组件——multiple-select。这个组件风格简单、文档全、功能强大。但是觉得它选中的效果
问题内容: 我有这个间隔,当前每5秒执行一次ajax请求。我对声明有疑问。我的代码总是输入它,并且两个json值完全相同,为什么它认为它们不同? 编辑 这是控制台输出(虚线是分隔请求,它不在实际输出中) 问题答案: 不能保证以相同的方式序列化JSON对象,也不能保证属性以相同的顺序进行序列化,使用并不是测试对象相等性的好方法。 一个更好的例子是这样的函数(前一段时间在互联网上找到,希望我能感谢原始
我有一个简单的javascript问题,我真的需要一些帮助!我正在尝试弄清楚如何在数组之间比较元素,以及在下一个循环中再次比较较大的元素。假设我们有数组A和数组B。 我的问题是,在比较索引处的元素之后,我希望在下一个循环周期中比较较大的元素。 如果A=[5,7,4],B=[2,8,5] 在第一个循环中,5与2进行比较,2较小,因此会发生一些事情。在下一个循环周期中,我希望5与8进行比较,而对于现在
比较两个NumPy数组是否相等的最简单方法是什么(其中相等定义为:A=B iff,用于所有索引i:
本文向大家介绍JS中比较两个Object数组是否相等方法实例,包括了JS中比较两个Object数组是否相等方法实例的使用技巧和注意事项,需要的朋友参考一下 一、问题 在js中是不能直接用“==”或者“===”来计算两个数组是否相等的,那么就需要对数组的值进行比较; 二、次解决方案 对于比较两个数组次要的方法有如下几种,为什么说是次要解决方案呢?因为它不能真正称之为对两个数组的对比。 1. 把两个数
我试图建立一个函数,检查一个单词或文本是否是回文。要做到这一点,它拆分文本,使每个字母都是一个新数组的元素,它去掉空白,并建立反向数组。然后检查两个数组中处于相同位置的每个元素是否相等。如果不是,则返回false,如果是,则返回true。这里的函数是: 我不知道出了什么问题,但是不管我传递给函数什么单词或文本,函数似乎都在返回一个真值。那有什么不好?