当前位置: 首页 > 知识库问答 >
问题:

ReactJS:两个道具并检查道具类型

南宫才英
2023-03-14

情况:

<Component>
    child
</Component>

我想做的事:

<Component>
<div></div>
{this.function()} // loads array of components
</Component>

问题:

我只能指定一个propType?我如何允许两种不同的道具组合成一种?

谢谢

共有1个答案

李嘉胜
2023-03-14

我相信你想做的应该没问题。请参阅流星反应教程中的代码:

renderTasks() {
  return this.getTasks().map((task) => (
    <Task key={task._id} task={task} />
  ));
}

render() {
  return (
    <div className="container">
      <header>
        <h1>Todo List</h1>
      </header>

      <ul>
        {this.renderTasks()}
      </ul>
    </div>
  );
}

您可以轻松地将render()修改为:

render() {
  return (
    <div className="container">
      <header>
        <h1>Todo List</h1>
      </header>

      <ul>
        <Task task={this.props.myTask} />
        {this.renderTasks()}
      </ul>
    </div>
  );
}

编辑:在回复您的评论时-是的,您可以指定替代的PropTypes作为子对象。请看另一个答案:

static propTypes = {
    children: React.PropTypes.oneOfType([
        React.PropTypes.arrayOf(React.PropTypes.node),
        React.PropTypes.node
    ]).isRequired
}
 类似资料:
  • 是否更像React的方法,使我们的模型属性,并在保存之前将其编译回模型,如下所示: 这不需要调用,但是随着模型的增长,(post可能有作者、主题、标记、注释、评分等)组件开始变得非常复杂。 第一种方法是ReactLink吗?

  • 我有一个组件,根据其大小接收道具。道具可以是字符串或数字,例如:或。 我能让知道这可以是PropTypes验证中的一个或另一个吗? 如果未指定类型,则会收到警告: prop type无效;它必须是一个函数,通常来自React。道具类型。

  • 给定一个呈现其子级的简单组件: 问题:儿童道具的道具类型应该是什么? 当我将其设置为对象时,当我使用具有多个子级的组件时,它会失败: 警告:失败的道具类型:提供给

  • 获取游戏所有道具 BK.QQ.getGameItemList(function(errCode,cmd,data){ BK.Script.log(0,0," reveive sso cmd = "+ cmd) var itemList = []; if(data){ if(data.data){ if(data.data.itemLi

  • 我在react native中引入了用于搜索的Texinput。代码如下: 和: 每当我在输入文本后运行Android时,我都会看到这个警告: 警告失败属性类型为TextInput提供的“object”类型的无效属性“value”,应为“string”

  • 我有一个<code>用户名 然后我有一个