9~10 장 까지의 내용 중 활용법을 생각해 적었습니다.
const test = () => {
return <div>{data.length && <Data />}</div>;
};
data의 length가 0이 된다면 Data 컴포넌트는 나오지 않겠지만 div 0 div 이 되므로 div태그 에 0이 보이게 되거나 data가 undefined일 경우 에러를 일으킨다.
삼항 연산자나 비교식으로 만들어서 사용하자.
참고 - 논리연산자 && 사용해 렌더링할 때 주의할 점
var people = [
{ name: "Alice", age: 21 },
{ name: "Max", age: 20 },
{ name: "Jane", age: 20 },
];
function groupBy(objectArray, property) {
return objectArray.reduce(function (acc, obj) {
const key = `${property}_${obj[property]}`
if (!acc[key]) {
acc[key] = [];
}
acc[key].push(obj);
return acc;
}, {});
}
var groupedPeople = groupBy(people, "age");
// groupedPeople is:
// {
// age_20: [
// { name: 'Max', age: 20 },
// { name: 'Jane', age: 20 }
// ],
// age_21: [{ name: 'Alice', age: 21 }]
// }