Javascript React/Redux:需要使用Redux构建一个React组件,该组件根据初始下拉选择动态生成其他下拉列表

Javascript React/Redux:需要使用Redux构建一个React组件,该组件根据初始下拉选择动态生成其他下拉列表,javascript,reactjs,redux,Javascript,Reactjs,Redux,我需要构建一个带有Redux操作和reducer的React组件来处理下拉列表中的选择。沿着动作更新\u数量\u下拉列表的线条,它将充当下拉列表上的侦听器,以触发动作/减速器流。当前布局将是一个下拉列表,包含一组0、1、5和13的选项,根据用户选择的数字,将填充许多具有自己下拉字段的行。因此,如果用户选择5,下面将显示一个附加部分,其中包含5行名为“对齐”的字段,每个字段都有自己的下拉列表,其中列出了选项的子集。我是Redux新手,所以我正在尝试确定如何实现这一点,但我认为我需要在下面包含Rea

我需要构建一个带有Redux操作和reducer的React组件来处理下拉列表中的选择。沿着动作更新\u数量\u下拉列表的线条,它将充当下拉列表上的侦听器,以触发动作/减速器流。当前布局将是一个下拉列表,包含一组0、1、5和13的选项,根据用户选择的数字,将填充许多具有自己下拉字段的行。因此,如果用户选择5,下面将显示一个附加部分,其中包含5行名为“对齐”的字段,每个字段都有自己的下拉列表,其中列出了选项的子集。我是Redux新手,所以我正在尝试确定如何实现这一点,但我认为我需要在下面包含React组件的基本状态 选择表单组件


我认为您缺少的是Array.map和onChange方法

您可以使用某种数据结构来存储选项的值,然后使用map动态构建HTML。 您可以通过定义处理用户进度的本地方法(即渲染哪些选择元素)来检测更改的计算。 当然,您必须定义onChoosingOption和this.state.value,但最终它会是这样的:

const firstLevelOptions = [0, 5, 10, 13];

<CustomSelect onChange={this.onChoosingOption} value={this.state.value}>
  {
    firstLevelOptions.map(x => <option value={x}>
                                 {x === 0 ? 'none' : x + ' Form Fields'}
                               </option>)
  }
/*
Results in
  <option value="0">none</option>
  <option value="5">5 Form Fields</option>
  <option value="10">10 Form Fields</option>
  <option value="13">13 Form Fields</option>
*/
</CustomSelect>

然后,您可以在下一个级别中使用几乎相同的功能。

我通常会这样做,但我需要为该功能创建一组Redux操作/还原程序,因为我将在应用商店中存储下拉列表的状态。恐怕您必须提前定义所有Redux配置,因为它们不能动态定义。不过,我认为主要的挑战是定义将包装表单状态的数据结构。我意识到,当我回答时,哈哈。我更新了我原来的问题,在我需要创建哪些操作/减速器方面包含了更清晰的内容。希望这能有所帮助
const firstLevelOptions = [0, 5, 10, 13];

<CustomSelect onChange={this.onChoosingOption} value={this.state.value}>
  {
    firstLevelOptions.map(x => <option value={x}>
                                 {x === 0 ? 'none' : x + ' Form Fields'}
                               </option>)
  }
/*
Results in
  <option value="0">none</option>
  <option value="5">5 Form Fields</option>
  <option value="10">10 Form Fields</option>
  <option value="13">13 Form Fields</option>
*/
</CustomSelect>