2
편집 가능한 사전 요소에서 텍스트의 원하지 않는 HTML 요소를 피하기 위해 Enter 키를 누를 때만 onKeyDown 스크립트를 실행합니다. 콘텐츠가 다시 렌더링되도록한다React (Preact)는 내용을 두 번 렌더링합니다.
render({}, {content}) {
console.log("render: "+content);
return <p contenteditable onKeyDown={this.handleKeyDown}>{content}</p>
}
handleKeyDown
함수에서
단락 콘텐츠가 변경되고 setState(content: newText)
호출되고있다. 이 결과 새 텍스트가 두 번 쓰여집니다. 내가 "안녕하세요!"를 입력 한 후 휴식 할 때
는 "안녕하세요"는 가 발생합니다 "안녕하세요
세계 worldhello
"
심지어 handleKeyDown 불구과 기능을 렌더링 올바른 문자열을 기록합니다
를 " 안녕
세계 "
여기서 내가 뭘 잘못하고 있니?
감사합니다. 이것은 트릭을했다. 나는이 위험한 설정 인너 HTML에 걸림돌이되는 것을 기억하지만, 그것이 무엇에 관한 것인지 전혀 설명하지 않습니다. – Enie