2016-07-18 2 views
2

그래서 나는 약간의 반응을 배우려고 노력하고 있습니다. 지금까지는 egghead.io가 꽤 좋지만 질문이 있습니다. 이것은 나쁜 반응입니까?

https://jsfiddle.net/42pe/69z2wepo/49393/

는 기본적으로 이러한 어떤 갱신 상위 구성 요소의 상태를 3 개 슬라이더입니다 : 나는 다음과 같은 코드가 있습니다. 꽤 직설적 인.

특히, 나는 (발과 색상 모두를 전달하여)이 같은 상태를 업데이트 할 수 있습니다

updateMe(val, color) { 
    let obj = {}; 
    obj[color] = val; 
    this.setState(obj); 
    } 

아니면 내가, findDOMNode() 슬라이더 심판을 사용하고 상태를 업데이트 할 값을 얻을 수 있지만, 그냥 옳다고 생각하지 않았습니다. React가 뒤에서 어떤 일을하는지 모르지만, 인스턴스에서 함수를 호출하면 함수 자체가 값을 얻기 위해 인스턴스를 다시 찾을 수 있습니다. 인스턴스 자체가 값을 전달할 수 있습니다 (값과 색상 모두). 따라 간다.

그래서 어떤 이유로이 방법이 좋지 않습니까?

답변

1

두 방법 모두 정확하지만 updateMe를 선호합니다. Propt 함수를 호출하는 소품과 자식 함수를 전달하는 것은 React에서 이상적인 방법입니다.

Refs는 값을 원하지만 반응 구성 요소의 상태를 업데이트하지 않으려는 경우 이상적입니다. 예를 들어, 양식에서 ref를 사용하여 모든 값을 가져오고 서버에 대한 ajax 호출을 만들 수 있습니다.

0

이 사용 ES6을 할 수있는 더 많은 청소기 방법은 다음과 같습니다

updateMe(val, color) { 
    this.setState({ 
     [color]: val 
    }); 
} 

findDOMNode 나쁜 방법이 아닙니다. 하지만 상태와 소품의 함수로 응용 프로그램을 빌드하는 경우에는 사용할 필요가 없습니다. 주 또는 소품을 변경하면 DOM이 변경되고 DOM 변경은 function of 주 또는 소품 변경으로 인한 것입니다.

관련 문제