2017-10-25 7 views
0

저는 실제로 내 reduxform에 2 개의 콤보 박스 (react-widgets)를 가지고 있습니다.반응 위젯 Combobox가 Reduxform으로 onFocus를 업데이트하지 않습니다

내 첫 번째 콤보 상자는 내 데이터를 가져 오므로 완벽하게 작동합니다. 변경.

그러나 두 번째 항목에 집중하면 첫 번째 값에 따라 데이터가로드되기를 원합니다.

문제는 다음과 같습니다. 렌더링 할 데이터가 console.log이지만 구성 요소는 다시 렌더링되지 않습니다. 나는 데이터를보기 위해 현장에 뭔가를 입력해야합니다. 다시 바꾸기 만하면됩니다. 형태

필드 :

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

내 구성 요소 렌더링 :

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

getHouses 함수가 같은 것을 반환 페치 다음 currenthousesValue가 선택기에서입니다

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

:

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

componentDidUpdate를 사용하여 업데이트를 시도했지만 내 렌더링 기능 호출이 표시 되더라도 UI가 새로 고쳐지지 않습니다.

"onBlur"에 데이터를로드하려고했지만 첫 번째 결과에서 동일한 결과가 나타납니다.

답변

0

저는 React를 처음 사용합니다. 하지만 React에서 비슷한 문제에 직면했습니다. 첫 번째 콤보 상자의 값이 변경되면 두 번째 폼의 데이터 특성 값도 변경됩니다. 하지만 두 번째 콤보 상자는 componentWillReceiveProps 이벤트에 가입되어 있지 않기 때문에 다시 렌더링하지 않을 수 있습니다. (내 코드에서 찍은)이 같은

뭔가 :

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

는 불행하게도 문제는 데이터가하지만 난 UI의 목록을 "렌더링"하는 콤보 상자에 뭔가를 입력 할 필요가, 동일 : / – Olivier