// Task component: represents a single todo item. Task = React.createClass({ propTypes: { // We can use propTypes to indicate it is required. task: React.PropTypes.object.isRequired, showPrivateButton: React.PropTypes.bool.isRequired }, toggleChecked() { // Set the checked property to the opposite of its current value. Meteor.call("setChecked", this.props.task._id, ! this.props.task.checked); }, deleteThisTask() { Meteor.call("removeTask", this.props.task._id); }, render() { // Give tasks a different clasSName when they are checked off, // so that we can style them nicely in CSS. const taskClassName = this.props.task.checked ? 'checked' : ''; let result = (
  • { this.props.showPrivateButton ? ( ) : '' } {this.props.task.username}: {this.props.task.text}
  • ); return result; } });