반응형
getter에서 선택한 속성 가져오기
내 주에 일련의 컨테이너가 있는데, 이를 활성 컨테이너와 비활성 컨테이너로 분할하는 게터를 설정하려고 합니다.
containers: [{
id: '1',
name: 'test container',
image: 'some image',
state: 'running',
status: 'Running'
}, {
id: '2',
name: 'another test container',
image: 'some image',
state: 'stopped',
status: 'Running'
}]
이것을 사용하여 아래 어레이를 가져옵니다.
export const x = state => _.partition(state.containers, c => c.state === 'running');
문제는 분할하여 active Containers와 stopped Containers에 할당하고 내보내는 것입니다.
[
[
{
"id": "1",
"name": "test container",
"image": "some image",
"state": "running",
"status": "Running"
}
],
[
{
"id": "2",
"name": "another test container",
"image": "some image",
"state": "stopped",
"status": "Running"
}
]
]
ES6의 디커버리먼트를 사용해 보았습니다만, Vuex에서 동작하기 위해서 뭔가 부족하거나 디커버리먼트를 잘못 배치한 것 같습니다.
export const [activeContainers = [], stoppedContainers = []] = state => _.partition(state.containers, c => c.state === 'running');
돌아오는functions에서getter
질문의 코멘트에 의하면, 2개의 속성을 매핑할 수 없는 것은 사실입니다.getter더 읽고 싶지 않은 것을 더 읽고activeContainers그리고.stoppedContainers
당신이 공유한 링크를 살펴본 후, 나는 당신이 여전히 파라미터화된 것에 매우 가까운 무언가를 가질 수 있는 방법을 찾았습니다.getter.
여기서 완전한 효과를 볼 수 있습니다.
getters = {
getContainer: (state) => {
const [activeContainer = [], inactiveContainer = []] = _.partition(state.containers, c => c.state === 'running')
return (container) => {
return (container === 'activeContainer') // returned function
? activeContainer
: inactiveContainer
}
}
}
이 getter에서는 파라미터를 받아들여 원하는 것에 매우 가까운 것을 얻을 수 있는 함수를 반환합니다.
언급URL : https://stackoverflow.com/questions/42848615/getting-a-selected-property-from-a-getter
반응형
'programing' 카테고리의 다른 글
| C++에 헤더 파일을 포함할 때 꺽쇠 괄호 < >와 큰따옴표 "의 차이가 있습니까? (0) | 2022.07.10 |
|---|---|
| GWT의 가장 큰 함정 (0) | 2022.07.10 |
| vue-timeout(vue-timeout:모듈을 찾을 수 없습니다. (0) | 2022.07.10 |
| 쉼표로 구분된 문자열을 분할하려면 어떻게 해야 합니까? (0) | 2022.07.10 |
| Android Studio 콘솔에 인쇄하는 방법 (0) | 2022.07.10 |