reactjs 中字典的正确 PropTypes 是什么

Joh*_*. M 2 javascript reactjs

有类似的东西

x = {"k0": [v0, v1], "k1":[v2]}
Run Code Online (Sandbox Code Playgroud)

我应该如何为 编写正确的proptypes x

CRi*_*ice 6

你可以使用PropTypes.shape指定一个同时包含对象k0k1按键,并使用PropTypes.arrayOf以确保它们是什么类型的数组v0v1v2是。

一些类似的东西:

YourComponent.propTypes = {

  x: PropTypes.shape({
    k0: PropTypes.arrayOf(/* your type here, eg: PropTypes.number */),
    k1: PropTypes.arrayOf(/* other type here, eg: PropTypes.string */)
  })

}
Run Code Online (Sandbox Code Playgroud)

或者,如果您事先不知道键的编号或名称,但它们都具有相同的类型,则可以使用PropTypes.objectOf. 所以要描述一个对象,其中每个键都映射到一个字符串数组:

x: PropTypes.objectOf(PropTypes.arrayOf(PropTypes.string))
Run Code Online (Sandbox Code Playgroud)

您可以在PropTypes 此处阅读有关可用资源的更多信息。