React 문자열을 boolean 형식으로 변환

6330 단어 타입ReactJavaScript
리액트로 문자열 형식을 boolean형으로 변환할 때 약간 막혀서 필기입니다.
화면에서radio 단추를 눌렀을 때params 이state에boolean형으로 isDeliveryAddress를 추가하려고 합니다.

정확한 코드


CustomerForm.js
handleChangeBool(e) {
  this.setState({
    params: {
      ...this.state.params,        
      isDeliveryAddress: e.target.value === 'true',
    }
  });
}

잘못된 코드


CustomerForm.js
handleChangeBool(e) {
  this.setState({
    params: {
      ...this.state.params,
      isDeliveryAddress: Boolean(e.target.value),
    }
  });
}
고장 코드가 순조롭게 진행되지 못하는 원인은 e.target이다.이것은value가 은밀형 전환을 일으켰기 때문이다.
e.target.value에는 '진짜', '가짜' 같은 문자열이 있기 때문에 boolean형을 지정해도 잘 변환되지 않습니다.
정확한 코드처럼 기술하면 스텔스 변환이 되지 않기 때문에 boolean형을 사용할 수 있습니다.

스크린


CustomerForm.js
<table className="redister__destination">
  <tbody>
    <tr>
      <th>
        配送先住所
        <font color="red"></font>
      </th>
    </tr>
    <tr>
      <td className="redister__input_column">
        <label>
          <input
            type="radio"
            name="destination"
            value={false}
            onChange={e => this.handleChangeBool(e)}
          />
          上記住所
        </label>
        <br />
        <label>
          <input
            type="radio"
            name="destination"
            value={true}
            onChange={e => this.handleChangeBool(e)}
          />
          別の住所に送る
      </label>
      </td>
    </tr>
  </tbody>
</table>

총결산


포인트는 스타일링을 원할 때 Number () 로 하지만 e. target입니다.value가 얽혀서 Boolean()로 찾을 수 없으면 곤란합니다.
이해가 부족한 점도 있다고 생각해요. 지적해 주셨으면 좋겠어요.

좋은 웹페이지 즐겨찾기