React prop中的参考电流分量

时间:2018-02-27 23:47:00

标签: javascript reactjs

在浏览React文档中的组件,道具和其他类似区域后,我似乎无法找到是否可能。

尝试做这样的事情:

construct() {
  super();
  this.state = {
    category: dog
  };
}

render() {
  return(
    <input type="radio" category="dog" 
      defaultChecked={this.state.category === this.prop.category} />
    <input type="radio" category="person" 
      defaultChecked={this.state.category === this.prop.category} />
  );
}

在这种情况下,默认情况下会检查radioInput type="dog" type="person",而req.params仍未选中。

这可以动态吗?

2 个答案:

答案 0 :(得分:0)

首先,我会在你的案例中使用checked属性 然后,对于默认值,您只需要一个默认状态
接下来处理更改时,只需为您的输入提供相同的name

修改
要处理状态更改,您应添加onChange回调(不要忘记将其绑定到您的组件)而不是使用category使用value
回调应该有一个change事件作为参数,您可以使用event.target.value来获取新的状态值

答案 1 :(得分:0)

首先你应该知道如何在输入HTML标签中使用'type = radio'道具。你应该先看看这个文件MDN web docs。你会发现你对这个属性的使用是错误的。你应该添加为你命名'道具'。 您可以这样使用:

constructor(props) {
    super(props);
    this.state = {
      category: "dog"
    };
    this.handleChange = this.handleChange.bind(this);
  }

  handleChange(e) {
    this.setState({
      category: e.target.value
    });
  }

  render() {
    return (
      <div>
        <input
          type="radio"
          value="dog"
          name="animal"
          checked={this.state.category === "dog"}
          onChange={this.handleChange}
        />
        <input
          type="radio"
          value="person"
          name="animal"
          checked={this.state.category === "person"}
          onChange={this.handleChange}
        />
      </div>
    );
  }
相关问题