Bind must be called on a function

来源:3-4 React基础知识回顾4-事件

trinidy

2019-03-21

老师 ,我也是一样的写的 ,为什么会报错 Bind must be called on a function 呢?

class YiYing extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      solders: ['虎子', '柱子', '王根生']
    };
    this.addSolder = this.addSolder.bind(this);
  }
  addSolder() {
    console.log('addSolder', this);
    this.setState({
      solders: [...this.state.solders, '新兵蛋子' + Math.random()]
    });
  }
  render() {
    return (
      <div>
        <h3>一营营长: {this.props.yingzhang}</h3>
        <button onClick={this.addSolder}>新兵入伍</button>
        <ul>
          {this.state.solders.map((value, index) => {
            return <li key={index}>{value}</li>;
          })}
        </ul>
      </div>
    );
  }
}
写回答

1回答

trinidy

提问者

2019-03-21

解决了,把第二种方法和第三种方法各跑了一遍之后 就莫名的好了

0
0

Redux+React Router+Node.js全栈开发

全网唯一的React 16+Redux+React Router4实战课程,学到手是你的真本领!

1822 学习 · 750 问题

查看课程