- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
是否有推荐的模式将 props 传递给 React 中的后代组件?
下面,我将 propcallback
传递给子组件:
Master = React.createClass({
render: function() {
return (
<div>
<ListComp items={this.props.items} callback={this.handleClick} />
</div>
);
}
});
ListComp = React.createClass({
render: function() {
this.props.items.forEach(function(item) {
items.push(<ItemView item={item} callback={this.props.callback} />);
}, this);
return (
<ul>{items}</ul>
);
}
});
然后 callback
属性被传递给后代组件:
ItemComp = React.createClass({
render: function() {
return (
<li><a onClick={this.handleClick} href="#">Link</a></li>
);
},
handleClick: function(e) {
e.preventDefault();
this.props.callback();
}
});
像这样将 prop 传递两次是否正确,还是我应该以某种方式引用它的继承?
我在文档中看到一个 transferPropsTo
方法,从日志记录看来我可以通过 this.props.__owner__ 从后代获取
但那些双双下划线让我觉得我不应该。callback
。 props
最佳答案
是的,这是惯用语。将每个组件视为一个函数,其参数是 props - 从这个角度来看,显式传递 props 似乎更正常。我们发现,让所有内容都明确化可以使事情更易于维护,这样您就可以看到组件的所有输入是什么以及您正在传递什么。
(React 的 future 版本可能会包含一个名为“上下文”的功能,这使得隐式传递事物成为可能,但它可能会使代码更难以推理,所以我仍然倾向于几乎所有时间的显式性.)
更新(非原作者)
文档终于添加了(它是在 2015 年夏季到 2016 年夏季之间的某个时间添加的,可能是在版本 0.14 中添加的):
Official React Context Documentation .
请注意,这也是 react-redux
的方式简化了商店在层次结构中的传递。
关于reactjs - react : Passing Props to Descendants,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21758103/
我希望能够选择类 zz 的所有元素,这些元素是类 xx 的元素的后代,但不是类 yy 的后代。 考虑以下几点: ... arbitrary depth ...
给定以下 HTML: li > a { color: black } ul a { color: black } 最佳答案 The most fundamental conc
假设树结构如下:(丑陋的遗留布局,抱歉) (1) dont want to select this one
这是我的 RadixSort 函数(升序): void RadixSort (int a[], int n) { int i, m=0, exp=1, b[MAX]; for (i=0
我有以下 SP CREATE PROCEDURE GetAllHouses set @webRegionID = 2 set @sortBy = 'case_no' set @
我知道你实际上无法从记录中继承任何内容,但我不知道如何用一句话总结我的问题。如果需要,请编辑标题。 我在这里想做的是创建一个某种泛型类型的数组,它可以是 X 种类型之一,该数组将填充这些自定义类型(它
我正在尝试将 Silverlight DataGrid 绑定(bind)到 WCF 服务调用的结果。我没有看到网格中显示的数据,所以当我运行调试器时,我注意到 XDocument.Descendant
我有一个简单的 XML, 我想找到所有“H”节点。 XElement x = XElement.Parse(""); IEnumerable h = x.Descendants("H"); if (
使用 beautifulsoup 时 soup.descendants迭代器,生成的标签是否保证以任何特定顺序返回?由于文档提到事物是递归迭代的,所以我猜测事物是按 DFS 顺序返回的,但我不确定这是
我无法弄清楚如何更新一行的后代/子代。示例表,命名为 test +----+--------+------+ | Id | Parent | Val | +----+--------+------+
我遇到了这样的情况:我需要在页面上选择不同的节点组,并且需要排除某些子元素。我最常见的任务是选择所有 元素,但不是某些元素的后代。 以我的 fiddle 为例:http://jsfiddle.net/
链接: http://jsbin.com/EFAlace/3/edit?html,css,output HTML: Hover over me! Weird link
你好,有一个像这样的 DOM,需要选择除 div.hidden 部分的后代元素之外的所有 a 元素。 Some text Email Alex Some more text
这个问题在这里已经有了答案: Is the CSS :not() selector supposed to work with distant descendants? (2 个答案) 关闭 5 年
6000 7000 2 5 3 6 9
XElement.Descendants () 方法接受要查找的元素的名称。 但是它是区分大小写的,有没有办法让它不区分大小写 最佳答案 你可以使用这个: element.Descendants()
我正在使用 React 路由器 dom Link 组件。它基本上是推特的主页。我希望能够在一个 div 组件中有两种类型的链接。一个是链接到用户的个人资料,另一个是发布。我目前收到警告,暂时找不到解决
是否有推荐的模式将 props 传递给 React 中的后代组件? 下面,我将 propcallback 传递给子组件: Master = React.createClass({ render:
在使用Selenium定位网页中的元素时,我使用了很多XPath,并且最近从使用node1 // node2转向使用node1 / descendant::node2。两种方法有什么区别?一个比另一个
已关闭。这个问题是 off-topic 。目前不接受答案。 想要改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 已关闭13 年前。 Improve th
我是一名优秀的程序员,十分优秀!