2017-01-22 4 views
2

오브젝트를 동시에 반환하는 동안 오브젝트를 분리 할 수 ​​있습니까? 이런 식으로 뭔가에반환 문 내에서 ES6 구조가 해제됩니다.

const mapStateToProps = ({ newItem }) =>{ 
    const { id, name, price } = newItem; 
    return { id, name, price }; 
} 

: 예를 들어 는이 코드를 변경

const mapStateToProps = ({ newItem }) =>{ 
    return { id, name, price } = newItem; 
} 
+4

당신이 그것을 시도 해 봤나 모든 newItem 키를 전달하려는 경우, 다음을 수행도 할 수 있습니까? 여기에 질문을 입력하는 것보다 시간이 적었을 것 같습니다. – Pointy

+0

도움이되는 답장을 보내 주셔서 감사합니다. Pointy, 물론 그렇습니다.하지만 ES6에서 구문법이 많은 설탕을 사용하면 올바른 방법이있을 수 있다고 생각했습니다. – kfcobrien

+0

코드가 올바르게 작동하고 있으며 올바른 방법 그것 "을 원한다. – Oriol

답변

4

아니오, 그것은 불가능합니다.

(면책 조항 : 당신의 구문 작품과는 destructuring 및 반환 모두 않지만, 아마 당신이 원하지하지 않은

({ id, name, price } = newItem); // assigns global variables 
return newItem; 

에 해당)

당신이 원하는하려면 (나는 새 객체를 만드는 것으로 가정 함)리터럴 객체 (약식 속성 표기법으로 잠재적으로)를 사용해야합니다. 또한 One-liner to take some properties from object in ES 6 참조 : ES6에서

const mapStateToProps = ({newItem: {id, name, price}}) => ({id, name, price}); 
+0

고마워요.이게 내가 찾고 있던 바로 그거야 !! 미안 해요 내 설명에 명확하지 않았다 :) – kfcobrien

0

당신이

const mapStateToProps = ({ newItem }) => ({ ...newItem });