是否有可接受的方式(最好是IDE兼容)来记录ES6中的形状嵌套成员?
例如
class Foo extends React.Components {
constructor(props) {
super(props);
this.props.bar; // Webstorm for example will think 'bar' is not a member of props
}
}
我们可以做些什么来帮助IDE理解我们班级成员的预期结构?类似的东西:
/** @member {string} props.bar **/
在类声明或构造函数的顶部
答案 0 :(得分:1)
@property
有点起作用,但感觉不稳定。
/**
* @property {object} props
* @property {number} props.bar
*/
class Foo extends React.Components {
constructor(props) {
super(props);
}
}
丑陋,但像发条一样工作:
class Foo extends React.Components {
constructor(props) {
super(props);
/** @type {{foo: {bar: {}}}} */
this.props = this.props;
}
}