Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 设置状态在函数中不起作用_Javascript_Reactjs_Ecmascript 6 - Fatal编程技术网

Javascript 设置状态在函数中不起作用

Javascript 设置状态在函数中不起作用,javascript,reactjs,ecmascript-6,Javascript,Reactjs,Ecmascript 6,我有一个设置状态的函数,但它不能正常工作 这是我的职责 checkAnswer() { this.setState({ isDropdownShown: false }); } 我这样打电话 renderAnswers(answer, idx) { return ( <li key={idx} className={styles.questionDropdownItem} onClick={() => this.che

我有一个设置状态的函数,但它不能正常工作

这是我的职责

checkAnswer() {
  this.setState({
    isDropdownShown: false
  });
}
我这样打电话

renderAnswers(answer, idx) {
  return (
    <li
      key={idx}
      className={styles.questionDropdownItem}
      onClick={() => this.checkAnswer(answer)}
    >
      {answer.title}
    </li>
  );
}
我正在尝试一切,比如shouldComponentUpdate,但它不起作用

{question.answers.map(this.renderAnswers)}
应该是

{question.answers.map(this.renderAnswers, this)}


第一个示例将调用没有此值的RenderTranswers函数,因为.Map无法知道您想要的是什么。

能否显示整个组件?缺少一些重要的部分。请显示整个类,包括构造函数。我正在像这样调用render方法,{question.answers.mapthis.RenderTranswers}this.setState{isDropdownShown:false},=>console.logthis.state.isDropdownShown;这是什么意思?这是真的我认为这是正确的复制品?是的,很好。
{question.answers.map(this.renderAnswers, this)}
{question.answers.map((answer, i) => this.renderAnswers(answer, i))}