我现在正在学习反应。这是代码的链接-http:
//redux.js.org/docs/basics/ExampleTodoList.html
我在理解这段代码的内容时遇到了一些困难
const Link = ({ active, children, onClick }) => {
if (active) {
return <span>{children}</span>
}
return (
<a
href="#"
onClick={e => {
e.preventDefault()
onClick()
}}
>
{children}
</a>
)
}
Link.propTypes = {
active: PropTypes.bool.isRequired,
children: PropTypes.node.isRequired,
onClick: PropTypes.func.isRequired
}
我最难以理解此片段
return (
<a
href="#"
onClick={e => {
e.preventDefault()
onClick()
}}
>
{children}
</a>
)
}
{children}在这里是什么意思?它有什么作用?
这是做什么的?
children: PropTypes.node.isRequired,
上一行中的节点是什么意思?
当您使用自定义组件时,例如
<MyComponent>Hello World</MyComponent>
无论您在标签之间写什么(在上面的示例中为Hello World),都将作为children
属性传递给组件。
所以当像
const Link = ({ active, children, onClick }) => {
你是解构的道具和只得到active
,children
并onClick
从道具传递到组件
考虑例如,您将Link
组件称为
<Link active="true" onClick={someFunc} style={{color: 'orange'}}>Hello</Link>
然后,在所有道具中,即active, onClick, style, children
,您将只active, onClick,children
在组件中访问。
对于第二个问题:
这是做什么的?
子代:PropTypes.node.isRequired,
因此,这PropTypes
是对传递给组件的道具执行typeCheck的方法。它是从react-proptypes
包中导入的。
所以
children: PropTypes.node.isRequired
使道具children
成为必需。因此,如果您将组件渲染为
<Link />
它不会通过类型检查,因此您需要做
<Link>Text</Link>
我想访问
我有react组件A,它呈现一个表。表中某一列的数据通过另一个组件B呈现,因此是的子级。每当用户单击页面上的任何位置时,我希望在上执行一些操作。此click事件侦听器是在中定义的。如何从类内循环所有?我的组件结构如下所示: 我遇到了,但当通过将子级作为道具传递时,这很有用;例如,当代码如下所示时:
我在react native中有一个搜索栏组件,它在父组件中导入, SearchBar子组件具有以下元素: 是否可以访问此子组件在其中导入的父组件中的状态?提前感谢你的帮助
我想创建一个包含所有价格选项的列表,并将唯一的值放在下拉列表中,所以我这样做: 此代码引发错误: 警告:遇到具有相同键的两个子项。键应该是唯一的,以便组件在更新时维护它们的标识。非唯一键可能导致重复和/或省略子键-此行为不受支持,并且可能在未来版本中更改。 从到 更新我也添加到它呈现的地方。 和SearchHandlerPrice:
我用React构建了3个组件。他们是: 包装器 列表 列表项 如何管理单击的复选框的状态。我想Wrapper知道哪些复选框被选中。