음, 좀 이상하네. 배열 할당 트릭은 보통 잘 먹혀 주거든.
내가 찾은 대안은 배열 안의 객체를 자체적으로 추적되는 프로퍼티(tracked properties)를 가진 클래스로 만드는 거야. 이런 식으로 말이지:
class CustomSidebarItem {
@tracked expanded = false;
constructor(id, label) {
this.id = id;
this.label = label;
}
}
export default class CustomSidebarComponent extends Component {
@tracked items = [
new CustomSidebarItem('home', 'Home'),
new CustomSidebarItem('my-posts', 'My Posts'),
...
];
// 나머지 코드
}
단순 객체를 여러 개 만드는 것보다 코드가 더 길어질 수 있지만, 확장하기가 더 쉽고 논리적으로 이해하기가 편하다는 걸 알게 됐어. 특히 데이터를 중첩된 컴포넌트로 내려 보내야 하는 경우가 있을 때 더 그렇지.