2017-09-15 1 views
2

를 반환은 올바른 다음과 같이 반환 즉시 객체에서 소품을 폭파하는 것입니다 : const mapStateToProps = state => ({ ...{ name, phone, shift} = state.employeeForm });개체 destructuring 즉시

작품 꽤 잘하지만 내 IDE 미친 것입니다. 어떤 충고?

답변

1

꽤 괜찮아 보입니다. 자바 스크립트 구문은 빠르게 발전하고 있으며 구문 변경이 많기 때문에 IDE는 여전히 따라 잡고 있습니다.

0

함수의 매개 변수를 통해 구조를 해제하는 방법은 무엇입니까? , 두 개 더 destructuring 예제 추가, 나는 또한 확산 연산자와 함수가 어떤 이유로 글로벌 네임 스페이스에 변수를 누수 발견 :

편집 // : 확산 운영자는 기본적으로 개체의 복사본을 생성,뿐만 아니라 irrelevant 키를 잡는다 적어도 여기에서 SO 니펫을 :

let state = { 
 
    form: { 
 
    name: 'test', 
 
    phone: 123, 
 
    shift: true, 
 
    irrelevant: false, 
 
    } 
 
}; 
 

 
(function() { 
 
    let fun2 = ({form: {name, phone, shift}}) => ({name, phone, shift}); 
 
    console.log('fun2', fun2(state)); 
 
})(); 
 

 
try { 
 
    console.log(name, phone, shift); 
 
} catch (e) { 
 
    console.log('no leak'); 
 
} 
 

 
(function() { 
 
    let fun3 = state => { 
 
    let {name, phone, shift} = state.form; 
 
    return {name, phone, shift}; 
 
    }; 
 
    console.log('fun3', fun3(state)); 
 
})(); 
 

 
try { 
 
    console.log(name, phone, shift); 
 
} catch (e) { 
 
    console.log('no leak'); 
 
} 
 

 
(function() { 
 
    let fun = state => ({ 
 
    ...{name, phone, shift} = state.form 
 
    }); 
 
    console.log('fun', fun(state)); 
 
})(); 
 

 
try { 
 
    console.log('leak:', name, phone, shift); 
 
} catch (e) { 
 
    console.log('no leak'); 
 
}

+0

있는지 그래,하지만 난 나의'state' 것 가능성을 위해, 가능한 한 간단하게 내'지도'기능을 유지하기 위해 노력하고있어 앞으로 바뀔 것입니다. –

+0

그리고 당신은 r'fun4'는 꽤 좋은 해결책입니다. –

+0

불행히도 fun4는 전역 네임 스페이스로 유출 된 변수를 사용하고 있습니다 ... 이상하지 않습니까? – Oskar