reactjs를 처음 사용하고 json 파일에서 기술 데이터를 검색하고 싶습니다. 그림과 같이 그리드 형식으로 json 데이터를 검색 할 수 없습니다. 내가 어디로 잘못 가고 있는지 모르겠다 :( .. 누구든지 나를 도울 수 있습니까? 미리 감사드립니다.
[
{
"id": 1,
"fullname": "ABC",
"skills": [
{"name": "asp.net mvc"},
{"name": "css"},
{"name": "knockout js"},
{"name":"monitoring"},
{"name":"ui"},
{"name": "ajax"},
{"name":"code review"},
{"name": "design pattern"},
{"name": "entity from work"},
{"name":"git"},
{"name":"ioc"},
{"name":"jquery"},
{"name":"json"},
]
},
{
"id": 2,
"fullname": "edf",
"skills": [{"name":"core java"},
{"name":"oracle"},
{"name":"asp.net"},
{"name":"web api"},
{"name":"artificial in.."},
{"name":"c#"},
{"name":"software eng.."}]
}
]
코드는 다음과 같습니다.
import profiles from "./data.json";
export default class Skills extends React.Component {
render(){
return(
<div>
<ul >
{
profiles.skills.map((skillDetail,i) => {
return (
<li key={i}>
{skillDetail.Name}
</li>
);
})
}
</ul>
</div>
);
}
}
다음 <ul></ul>
으로 업데이트 할 수 있습니다 .
<ul className="grid_list">
{profiles && profiles.length > 0
? profiles.map((p, pI) =>
p.skills.map((s, i) => {
return <li key={`${pI}${i}`}>{s.name}</li>;
})
)
: null}
</ul>
그리고 grid_list
index.css에 CSS 클래스를 추가하여 <li/>
그리드 레이아웃 을 가져옵니다.
.grid_list {
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr;
}
최신 정보
ID로 목록을 구분하고 싶다면 이처럼 1 번 <ul>
안에 넣어야합니다..map
<div>
{profiles && profiles.length > 0
? profiles.map((p, pI) => (
<React.Fragment key={`fr${pI}`}>
<span>{p.fullname}</span>
<ul className="grid_list" key={pI}>
{p.skills.map((s, i) => {
console.log(`${pI}${i}`);
return <li key={`${pI}${i}`}>{s.name}</li>;
})}
</ul>
</React.Fragment>
))
: null}
</div>
다음과 같은 UI를 제공합니다.
그것이 당신의 생각과 일치합니까?
콘솔을 사용하여 데이터 확인
import profiles from "./data.json";
export default class Skills extends React.Component {
//log your data here
console.log(profiles);
render(){
return(
<div>
{profiles && profiles.length > 0
? profiles.map((p, pI) => (
<React.Fragment key={`fr${pI}`}>
<span>{p.fullname}</span>
<ul className="grid_list" key={pI}>
{p.skills.map((s, i) => {
console.log(`${pI}${i}`);
return <li key={`${pI}${i}`}>{s.name}</li>;
})}
</ul>
</React.Fragment>
))
: null}
</div>
);
}
}
그리고 여기 내 data.json
[
{
"id": 1,
"fullname": "ABC",
"skills": [
{ "name": "asp.net mvc" },
{ "name": "css" },
{ "name": "knockout js" },
{ "name": "monitoring" },
{ "name": "ui" },
{ "name": "ajax" },
{ "name": "code review" },
{ "name": "design pattern" },
{ "name": "entity from work" },
{ "name": "git" },
{ "name": "ioc" },
{ "name": "jquery" },
{ "name": "json" }
]
},
{
"id": 2,
"fullname": "edf",
"skills": [
{ "name": "core java" },
{ "name": "oracle" },
{ "name": "asp.net" },
{ "name": "web api" },
{ "name": "artificial in.." },
{ "name": "c#" },
{ "name": "software eng.." }
]
}
]
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다