2017-12-17 8 views
-2

", [, and"와 같은 특수 문자로 API를 가져 왔지만 다음 코드로 특수 문자를 제거하려면 불행히도 오류가 발생했습니다 : TypeError : 읽을 수 없습니다 속성 {('/ [^ A-ZA-Z0-9]/g)} this.state.apiData.description.replace 정의반응에서 this.state 구성 요소의 특수 문자를 바꾸는 방법

의 "교체"

누군가 알아낼 도와 줄 수 어떻게 해결할 수 있을까요? 감사합니다

+0

귀하의 오류 형식 오류 : 읽을 수 없습니다 undefined의 'replace'속성은 this.state.apiData.description이 존재하지 않는다고 말하고 있습니다. 구체적으로 설명 부분입니다. 나는 console.log (this.state, this.state.apiData, this.state.apiData.description)를 알려주고 우리가 얻은 것을 알려준다 .... 내 생각에 this.state.apiData는 아마 당신은 그것이, 또는 비어 있다고 생각합니다. –

+0

아마도 가져 오기가 아직 완료되지 않았기 때문일 것입니다. – Li357

+0

Console.log (this.state.apiData.description)는 다음과 같은 데이터를 가져옵니다. "["싱가포르는 끝없는 명소와 활동의 도시입니다. 캡틴 익스플로러 덕크 투어 (Captain Explorer Dukw Tour)에서 하루 종일 흥분과 탐험을하면서 즐거움을 찾으십시오. "," ""그 날은 정통적이고 개조 된 베트남 전쟁 시대의 차량으로 태워지기 시작합니다.]. 위의 코드를 사용하여 특수 문자를 바꿀 때 오류가 발생합니다. 감사합니다 – inccoder

답변

0

먼저 React의 구성 요소 인 내부 상태 엔진이 변경되지 않으므로 직접 상태를 변경하면 안되는 방향으로 안내하겠습니다. 대신 이렇게 : 그렇게 말

let state = Object.assign({}, this.state) state.apiData.description = value this.setState(state)

, 당신은 아마 이런 식으로 뭔가 할 수있는이 당신을하는 데 도움이 나는 희망

let state = Object.assign({}, this.state) state.apiData.description = value.replace(/[^a-zA-Z0-9]/g, '') this.setState(state)

을 :)

관련 문제