触发状态“selectedOptions2”时如何映射()

莫乔奈迪

我需要你寻找错误我的代码。我知道这是错误的。

import React, { Component } from "react";
import { options1, options2, questions } from "./data";
import Select from "react-select";

class Esensial extends Component {
  constructor(props) {
    super(props);
    this.state = {
      selectedOption: [],
      selectedOption2: []
    };
  }

  handleChange1 = selectedOption => {
   this.setState({ selectedOption, selectedOption2: null });
  };

  handleChange2 = selectedOption => {
   this.setState({ selectedOption2: selectedOption });
  };
filteredOptions() {
    return options2.filter(o => o.link === 
this.state.selectedOption.value);
  }
  questionsOptions() {
    return questions.filter(
      question => question.link === this.state.selectedOption2.value
    );
  }
  render() {
    const filteredOptions = this.filteredOptions();
    const questionsOptions = this.questionsOptions();

    return (
      <div>
        <h1>UKM Esensial</h1>

        <div className="form-group">
          <label>Pilih Jenis Upaya Pelayanan Kesehatan</label>
          <Select
            className="form-control"
            isClearable={false}
            onChange={this.handleChange1}
            options={options1}
            value={this.state.selectedOption}
          />
        </div>
        <div className="form-group">
          <label>Pilih Variable</label>
          <Select
            className="form-control"
            isClearable
            onChange={this.handleChange2}
            options={filteredOptions}
            value={this.state.selectedOption2}
          />
        </div>
        <div>
          <table className="table table-striped">
            <thead>
              <tr>
                <th>Sub-Variabel</th>
                <th>Sasaran</th>
                <th>Capaian</th>
              </tr>
            </thead>
            <tbody>
              {questionsOptions.map(q => (
                <tr>
                  <td>{q}</td>
                  <td>
                    <input type="number" />
                  </td>
                  <td>
                    <input type="number" />
                  </td>
                </tr>
              ))}
            </tbody>
          </table>
        </div>
      </div>
    );
  }
}
export default Esensial;

代码将运行,当 selectedOption 获得一个值时,它会过滤()options2,当 selectedOption2 获得一个值时,它会过滤()questionsOptions,但我不知道代码仍然崩溃..请帮帮我..是吗地图有问题?可能是因为我不使用 componentDidUpdate(){}。不知何故,当我使用 componentDidUpdate() 时,它会自行执行。也许我使用 firebaseauth() 来验证登录系统。

乌迈尔·法鲁克

这是因为this.state.selectedOption2.value,因为您selectedOption2handleChange1null中设置值以下可以是解决方案:

questionsOptions() {
  const {selectedOption2} = this.state;
return questions.filter(
  question => question.link === selectedOption2 && selectedOption2.value || ''
);
}

从您的初始状态开始,我假设它selectedOption2是数组,因此您无法访问值,因为selectedOption2.value您必须通过索引访问,例如selectedOption2[0].value(假设所需索引为 0)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用react-router触发状态更改?

来自分类Dev

子组件无法触发状态更改

来自分类Dev

更新URL而不触发状态更改

来自分类Dev

阻止浏览器在使用visibilityChange事件触发状态更新时向上滚动

来自分类Dev

如何在Reactjs中从另一个组件触发状态

来自分类Dev

带窗口的Kafka Streams拓扑不会触发状态更改

来自分类Dev

使用ui-sref在按钮标签中触发状态

来自分类Dev

通过其同级触发状态更改时,子组件不会重新呈现

来自分类Dev

ion-nav后退按钮不触发状态控制器

来自分类Dev

如果我有一个按钮在React中的第二个子级中触发状态,如何将状态传递给父级组件

来自分类Dev

如何在状态栏中获取当前功耗?(开发状态图标)

来自分类Dev

如何在页面加载时触发路由器状态?

来自分类Dev

如何在OS X Yosemite中开发状态栏应用程序?

来自分类Dev

如何获取有关以太网数据收发状态的信息?

来自分类Dev

Flink Statefun并发状态更新

来自分类Dev

调度将状态更新为当前状态的动作时,如何触发效果?

来自分类Dev

当对象更改状态时触发Ajax事件

来自分类Dev

更改状态(路线)时触发功能

来自分类Dev

在状态改变时触发函数调用

来自分类Dev

从Redux状态映射阵列时,如何只重新渲染新的子组件?

来自分类Dev

如何在React中映射状态对象时添加DIV以允许根据需要添加DIV

来自分类Dev

当按钮处于焦点状态时,如何防止Enter键触发单击事件

来自分类Dev

仅当两个概要文件处于活动状态时,如何使Bean配置触发

来自分类Dev

不确定在组件状态下更新嵌套对象属性时如何触发useEffect

来自分类Dev

当第三方库触发事件时,如何告诉React组件更改其状态?

来自分类Dev

自动热键。每当某个窗口处于活动状态时,如何使脚本触发?

来自分类Dev

仅当两个概要文件处于活动状态时,如何使Bean配置触发

来自分类Dev

如何在javascript中鼠标悬停事件处于活动状态时触发onkeypress事件

来自分类Dev

Grails-IDE Eclipse插件的开发状态?

Related 相关文章

  1. 1

    如何使用react-router触发状态更改?

  2. 2

    子组件无法触发状态更改

  3. 3

    更新URL而不触发状态更改

  4. 4

    阻止浏览器在使用visibilityChange事件触发状态更新时向上滚动

  5. 5

    如何在Reactjs中从另一个组件触发状态

  6. 6

    带窗口的Kafka Streams拓扑不会触发状态更改

  7. 7

    使用ui-sref在按钮标签中触发状态

  8. 8

    通过其同级触发状态更改时,子组件不会重新呈现

  9. 9

    ion-nav后退按钮不触发状态控制器

  10. 10

    如果我有一个按钮在React中的第二个子级中触发状态,如何将状态传递给父级组件

  11. 11

    如何在状态栏中获取当前功耗?(开发状态图标)

  12. 12

    如何在页面加载时触发路由器状态?

  13. 13

    如何在OS X Yosemite中开发状态栏应用程序?

  14. 14

    如何获取有关以太网数据收发状态的信息?

  15. 15

    Flink Statefun并发状态更新

  16. 16

    调度将状态更新为当前状态的动作时,如何触发效果?

  17. 17

    当对象更改状态时触发Ajax事件

  18. 18

    更改状态(路线)时触发功能

  19. 19

    在状态改变时触发函数调用

  20. 20

    从Redux状态映射阵列时,如何只重新渲染新的子组件?

  21. 21

    如何在React中映射状态对象时添加DIV以允许根据需要添加DIV

  22. 22

    当按钮处于焦点状态时,如何防止Enter键触发单击事件

  23. 23

    仅当两个概要文件处于活动状态时,如何使Bean配置触发

  24. 24

    不确定在组件状态下更新嵌套对象属性时如何触发useEffect

  25. 25

    当第三方库触发事件时,如何告诉React组件更改其状态?

  26. 26

    自动热键。每当某个窗口处于活动状态时,如何使脚本触发?

  27. 27

    仅当两个概要文件处于活动状态时,如何使Bean配置触发

  28. 28

    如何在javascript中鼠标悬停事件处于活动状态时触发onkeypress事件

  29. 29

    Grails-IDE Eclipse插件的开发状态?

热门标签

归档