javascript / jquery로 값을 변경하고 싶지만 제출을 누르면 새 초기 값이 아닌 이전 초기 값이 사용됩니다.
반응 코드를 변경할 수 없으며 아래와 같이 javascript / jquery로만 값을 변경할 수 있습니다.
var value = "randomIntValue";
$("input[data-reactid='.0.2.0.0.0.0.0.2.0.0.3.0.3.0.0']").val(value).change();
위의 코드는 작동하지 않습니다!
위의 주석에서 수집 할 수있는 내용에서 문제는 jQuery를 통해 React 제어 구성 요소를 변경하려고한다는 것입니다.
뷰에서 직접 React 상태를 업데이트 할 수 없기 때문에 불가능합니다. jQuery 코드를 실행할 때 변경 사항은 일시적으로 DOM에 적용되지만 React는 이에 대해 알지 못합니다. 따라서 React가 뷰를 다시 렌더링해야 할 때 DOM의 이전 값을 덮어 씁니다.
또한를 통해 구성 요소에 액세스하는 data-reactid
것은 React virtual-DOM이 변경되면 값이 변경 될 수 있기 때문에 나쁜 접근 방식입니다.
DOM 변경을 적용하려고 할 때 React와 jQuery를 사용하는 것은 일반적으로 나쁜 생각입니다. React 코드에 액세스 / 변경할 수 없다면 운이 좋지 않은 것 같습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다