React小部件Combobox不使用Reduxform更新onFocus

时间:2017-10-25 08:34:51

标签: javascript combobox react-redux redux-form

我的reduxform实际上有两个组合框(react-widgets)。

我的第一个组合框工作正常,因为我在onChange上获取数据。

但是当我关注第二个时,我想要根据第一个数据的值加载数据。

问题是:当我在console.log中时,我在渲染中有数据但是组件没有重新渲染。我必须在字段中输入内容来查看我的数据,它只是像onchange触发重新渲染一样。

表格中的字段:

<Field
    component={HouseComp}
    name="house"
    currenthouses={currenthousesValue}
    onFocus={getHouses(props)}
    {...props}
 />

我的组件渲染:

 <Combobox id="house"
     data={currenthouses}
     {...input}
  />

getHouses函数是一个返回类似的东西:

props.dispatch(change('form', 'currenthouses',data))

currenthousesValue来自选择器:

const currenthousesValue = selector(state, 'currenthouses');

我尝试使用componentDidUpdate强制更新,但即使我看到我的渲染功能的调用,UI也不会刷新。

我还试图加载&#34; onBlur&#34;从第一个但相同的结果。

1 个答案:

答案 0 :(得分:0)

我是React的新手。但我在React遇到了类似的问题。在您的情况下,当第一个组合框的值更改时,第二个表单的数据属性的值也会更改。但是你的第二个组合框没有重新渲染可能是因为它没有订阅componentWillReceiveProps事件。

这样的东西(取自我的代码):

componentWillReceiveProps(nextProps) {
        this.setState({
            groups: nextProps.groups,
            invoices_count: nextProps.groups.length
        });
    }