使用 React.js 检查属性是否存在

新手上路,请多包涵

我是 react.js 的新手,正在尝试编写一个可重用的组件,该组件传递了一个可选属性。在组件中,该可选属性使用流星从数据库中提取数据,然后我想检查返回的对象上是否存在属性(任务中存在 parent_task),如果存在,则添加一个链接。这看起来相当简单,但我不断收到错误。有人对我可能缺少的东西有什么建议吗?有没有我遗漏的 jsx 陷阱?

 <Header task={params.task_id} />  // rendering component with property

// Task List Header
Header = React.createClass({
  mixins: [ReactMeteorData],

  getMeteorData() {
    var handle = Meteor.subscribe('tasks');

    return {
      taskLoading: ! handle.ready(),
      task: Tasks.findOne({_id: this.props.task})
    }
  },

  getParentTaskLink() {
    if (!this.data.taskLoading) {
      var current_task = this.data.task;

      if (parent_task in current_task) {  // or current_task.hasOwnProperty(parent_task)
        console.log("parent_task exists!");
      }
    }
  },

  render() {
    return (
      <div className="bar bar-header bar-calm">
        {this.getParentTaskLink()} // eventually return anchor element here
        <h1 className="title">Hello World</h1>
      </div>
    )
  }
});

原文由 bgmaster 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 565
1 个回答

有问题的道具是什么?怎么样

{this.props.propInQuestion ? <a href="#">link</a> : null}

原文由 meta-meta 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题