オブジェクトを返すと同時にオブジェクトを分解することは可能ですか?たとえば、このコードを変更するには:
const mapStateToProps = ({ newItem }) =>{
const { id, name, price } = newItem;
return { id, name, price };
}
このようなものに:
const mapStateToProps = ({ newItem }) =>{
return { id, name, price } = newItem;
}
いいえ、それは不可能です。
(免責事項:構文は機能し、解体と戻りの両方を行いますが、これはと同等です
({ id, name, price } = newItem); // assigns global variables
return newItem;
これはおそらくあなたが望んでいたものではありません)
(私が新しいオブジェクトを作成していると想定している)やりたいことを行うには、オブジェクトリテラルを使用する必要があります(省略形のプロパティ表記を使用する可能性があります)。参照 ES 6のオブジェクトからいくつかのプロパティを取得するためのワンライナー :
const mapStateToProps = ({newItem: {id, name, price}}) => ({id, name, price});
ES6では、newItem
キーをすべて渡したい場合は、次のこともできます。
const mapStateToProps = ({ newItem }) => ({ ...newItem });