2017-03-29 4 views
2

값을 기준으로 구성 요소를 숨기거나 표시하려면 redux를 사용하고 있습니다. 옵션을 전환 할 때 값을 지우고 싶습니다.Redux 형식의 필드 값 지우기

숨기고 표시하는 필드 사이를 전환 할 때 상태 값을 지우려면 어떻게해야합니까?

각 필드의 유효성을 검사하는 권장 방법은 무엇입니까?

상태에서 필드를 완전히 제거 할 수 있습니까?

<div> 
    <form> 
     <Fields 
     component={RadioButtonGroupField} 
     names={['radioButtonGroup', 'nameTextField', 'nickNameTextField']} 
     /> 
    </ form> 
</div> 

function RadioButtonGroupField(fields) { 
    return(
     <div> 
     <RadioButtonGroupComponent 
      {...fields.radioButtonGroup.input} 
      {...fields.radioButtonGroup.meta} 
     /> 
     { 
      (fields.radioButtonGroup.input.value === 'name' || 
      fields.radioButtonGroup.input.value === 'both') && 
      <NameTextFieldComponent 
      {...fields.radioButtonGroup.input} 
      {...fields.radioButtonGroup.meta} 
      /> 
     } 
     { 
      (fields.radioButtonGroup.input.value === 'nickname' || 
      fields.radioButtonGroup.input.value === 'both') && 
      <NicknameTextFieldComponent 
      {...fields.radioButtonGroup.input} 
      {...fields.radioButtonGroup.meta} 
      /> 
     } 
     </div> 
    ); 
    } 

답변

0

다른 값이 상태에있는 것이 중요한 이유는 무엇입니까? 제출시 라디오 값을보고 다른 값 중 사용할 값을 결정할 수 있습니다.

그러나 당신이 무시하고자하는 입력 값을 파괴하기 위해 change(value==='name' ? 'nickname' : 'name', null) 조치를 파견, 귀하의 질문에 대답하기 위해, 당신은 잠재적으로 라디오 필드 상에 onChange 리스너를 넣을 수 있으며합니다 ( fields.radioButtonGroup.input.onChange() 전화를 잊고되지 않음).

+0

마지막으로, 각 필드에 유효성 검사를 추가하는 가장 좋은 방법은 무엇입니까? – eNddy

+0

[필드 수준 유효성 검사 기능] (http://redux-form.com/6.6.1/examples/fieldLevelValidation/)을 추가하거나 [전체 레코드에 대해 유효성 검사 기능을 제공 할 수 있습니다 (https : // redux -form.com/6.6.1/examples/syncValidation/). –

+0

Fields에'필드 레벨 검증 함수 '를 추가하는 방법이 명확하지 않습니까? @ erik-r은 https://stackoverflow.com/questions/43218272/redux-form-fields-component-and-validation의 의견을 참조하시기 바랍니다. 'Fields'에 검증을 추가하는 것에 대한 생각을 게시 할 수 있습니까? – eNddy