我的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;从第一个但相同的结果。
答案 0 :(得分:0)
我是React的新手。但我在React遇到了类似的问题。在您的情况下,当第一个组合框的值更改时,第二个表单的数据属性的值也会更改。但是你的第二个组合框没有重新渲染可能是因为它没有订阅componentWillReceiveProps事件。
这样的东西(取自我的代码):
componentWillReceiveProps(nextProps) {
this.setState({
groups: nextProps.groups,
invoices_count: nextProps.groups.length
});
}