2017-12-21 4 views
-2

아래 코드에 어떤 문제가 있습니까? 나는 동적 변수를 사용하여 setState를 원한다. KYE 이름 인 경우es6 setState에서 계산 된 키

function(key) { 
    this.setState({ 
     order[key]: `${this.state.order[key]}` === true ? 'asc' : 'desc' 
    }) 
} 

나는 방법

function(key) { 
     let value = this.state.order[key] == true ? 'asc' : 'desc' 
     this.setState({ 
      [order[key]]: value 
     }) 
    } 
+2

(보간 문자 또는 다른에서) 문자열과 같은 작업을 수행해야합니다. – Bergi

+0

'$ {this.state.order [key]}'로 무엇을 기대합니까? === true? '오름': 'desc'? – Faly

+0

Bergi가 말한 것처럼 이제 좀 더 자세히 살펴 보았습니다. 구문 만이 아니라이 코드에 여러 가지 문제가 있습니다. –

답변

0

을 기대합니다. Please read more here

그래서 당신은 TRUE '==='없을 것

function(key) { 
    let order = this.state.order; 
    order[key] = (this.state.order[key] === true) ? 'asc' : 'desc'; 
    this.setState({order}); 
} 

아래에 감사

0

직접 객체 또는 배열 내부 값을 수정할 수 없습니다 상태를 설정하는 동안 다음과 같은 시도하십시오 this.state.ordername