给定一个呈现其子级的简单组件:
class ContainerComponent extends Component {
static propTypes = {
children: PropTypes.object.isRequired,
}
render() {
return (
<div>
{this.props.children}
</div>
);
}
}
export default ContainerComponent;
问题:儿童道具的道具类型应该是什么?
当我将其设置为对象时,当我使用具有多个子级的组件时,它会失败:
<ContainerComponent>
<div>1</div>
<div>2</div>
</ContainerComponent>
警告:失败的道具类型:提供给容器组件的
数组类型的无效道具
子对象
。
如果我将它设置为数组,如果我只给它一个子数组,它将失败,即:
<ContainerComponent>
<div>1</div>
</ContainerComponent>
警告:失败的属性类型:提供给ContainerComponent的对象类型的属性子级无效,应为数组。
请告诉我,我是否应该省心做一个关于子元素的propTypes检查?
PropTypes文档包含以下内容
// Anything that can be rendered: numbers, strings, elements or an array
// (or fragment) containing these types.
optionalNode: PropTypes.node,
因此,您可以使用PropTypes.node
检查对象或对象数组
static propTypes = {
children: PropTypes.node.isRequired,
}
对我来说,这取决于组件。如果您知道需要填充的内容,则应尝试使用以下方法以独占方式指定或指定多种类型:
PropTypes.oneOfType
如果您想引用React组件,那么您将查找
PropTypes.element
虽然
PropTypes.node
描述任何可以呈现的内容-字符串、数字、元素或这些内容的数组。如果这适合你,那么这就是方法。
对于非常通用的组件,可以有多种类型的子组件,您也可以使用以下组件-尽管请记住,eslint和ts可能不满意这种缺乏特异性的情况:
PropTypes.any
使用oneOfType
或PropTypes.node
import PropTypes from 'prop-types'
...
static propTypes = {
children: PropTypes.oneOfType([
PropTypes.arrayOf(PropTypes.node),
PropTypes.node
]).isRequired
}
或
static propTypes = {
children: PropTypes.node.isRequired,
}
问题内容: 给定一个呈现其子级的简单组件: 问题:孩子道具的propType应该是什么? 当我将其设置为对象时,当我将组件与多个子级一起使用时,它将失败: 警告:无法道具类型:无效的支柱型的 供给,预计。 如果将其设置为数组,则如果我仅给其一个孩子,则它将失败,即: 警告:prop类型失败:提供给ContainerComponent的对象类型无效的prop子代,预期数组。 请告知,我是否不应该为子
情况: 我想做的事: 问题: 我只能指定一个propType?我如何允许两种不同的道具组合成一种? 谢谢
这与自定义Gradle Java插件在V5.2.1中崩溃有关,但在V4.7中工作?。警告-我不是Java程序员。 我有这个代码来实现一个插件,它崩溃了(根据其他帖子)。
我有一个非常简单的功能组件,如下所示: 还有一个组件: 我不断收到以下错误: [ts]JSX元素类型“ReactNode”不是JSX元素的构造函数。类型“未定义”不能分配给类型“元素类”。[2605] 如何正确键入?
我有一个组件,根据其大小接收道具。道具可以是字符串或数字,例如:或。 我能让知道这可以是PropTypes验证中的一个或另一个吗? 如果未指定类型,则会收到警告: prop type无效;它必须是一个函数,通常来自React。道具类型。
我目前正在通过做rosalind问题(基本上是一堆生物信息学相关的代码katas)来学习Go。 我当前表示的DNA链类型为: 我最初的原因是封装字节片,这样我就知道它只包含代表核苷酸的字节:。我意识到这显然不是瓜分,因为我可以简单地做到: 由于我的结构只包含一个字节数组,这样做是否更好/更理想: 还是让类型包含dna链更好?对于何时使用这两种方法中的任何一种,有什么经验法则吗?