【发布时间】:2017-04-05 09:45:41
【问题描述】:
我在 ReactJS 组件上有一个 prop,它要么是 null,要么是不可变映射。
如果我写,在我的小部件底部:
MyComponent.propTypes = {
myMap: React.PropTypes.instanceOf(Immutable.Map)
};
我将把它保留为 null、未定义或 Map 的可能性。
我怎样才能使它成为必需的并且类型为 null 或仅映射?
https://facebook.github.io/react/docs/typechecking-with-proptypes.html
我看到了这个例子,但我不知道如何根据自己的需要调整语法,或者是否可行。
编辑: 如果一个属性为空,那么它仍然存在,但未定义意味着它没有被完全包含。
例如:
<Component id={1} data={null} />
<Component id={2} data={Immutable.Map()} />
<Component id={3} />
【问题讨论】:
-
您看到的属性不存在或为空有什么区别?
-
一个可能的解决方案正在这里讨论github.com/facebook/prop-types/pull/90,添加一个
isDefined()和一个isNotNull()
标签: javascript reactjs null nullable immutable.js