[React] 하위 요소의 데이터 내용에 따라 모 어셈블리에서 추출

10286 단어 JavaScriptReacttech

코드


index.tsx
import React from 'react'
import Child from '../components/MultiMap/Child'

export const App = () => {
  const teams = [1, 2, 3, 4]
  const members = [
    { hoby: 'football', name: 'Taro', team: 1 },
    { hoby: 'ayatori', name: 'Jiro', team: 3 },
    { hoby: 'work', name: 'Ken', team: 3 },
  ]
  return (
    <>
      {teams.map((team, index) => (
        <React.Fragment key={index}>
          {members.some((member) => {
            return member.team === team
          }) && (
            <>
              <h1>team {team}</h1>
            </>
          )}
          <div>
            {members.map((member, index) => (
              <Child key={index} member={member} team={team} />
            ))}
          </div>
        </React.Fragment>
      ))}
    </>
  )
}

export default App
components/MultiMap/Child.tsx
type Props = {
  member: {
    hoby: string
    name: string
    team: number
  }
  team: number
}

export const Child = ({ team, member }: Props) => {
  return <div>{member.team === team && member.name}</div>
}

export default Child

설명


개요


부모 구성 요소를 성명하는state
서브어셈블리로 작업할 수도 있습니다.
구성 요소도 너무 깊이 들어가고 싶지 않다.
그래서 이 방법을 시도해 보자.
Fragment에서 대응하는 부분도 있다.

코드 세부 정보


members.some((member) => {
  return member.team === team
}
↑를 제목으로 표시할 렌더링 조건을 지정합니다.
맵으로 회전
const teams = [1, 2, 3, 4]
하여 1부터 4까지의 각 수치
각 멤버가 소속된 팀만 일치할 때
썸으로 참.

액션


그림에서 보듯이 팀1과 팀3 아래
제목은 각 팀 소속의 멤버를 나타낸다.

좋은 웹페이지 즐겨찾기