2016-11-24 3 views
0

데이터는이 양식에 있습니다동안 오류가 렌더링 JSON 데이터 [Reactjs]

this.props.tagsview

_getTags() { 
 
    console.log(this.props.tagsview); 
 
    return this.props.tagsview.map(tags => { 
 
     var newItem = tags.map(p => <span className="tag" key={p.tag_id}>{p.name}</span>); 
 
     return ({newItem); 
 
    }); 
 
}

그래서

내가 이것을 실행하는거야 때 내가 갖는 :

error react.js:18893 Uncaught Error: Objects are not valid as a React child (found: object with keys {newItem}). If you meant to render a collection of children, use an array instead or wrap the object using createFragment(object) from the React add-ons.(…)

내가 무엇이 누락 되었습니까?
다른 방법이 있습니까?

답변

0

여기에 두 가지 문제가 있습니다. 하나는 중첩 목록을 반환한다는 것입니다. [[]] 아마 단 하나의 목록 []을 (를) 반환하고 싶다고 생각합니다. 외부지도 기능에서 {newItem}을 (를) 반환하는 중입니다. 그것은 React가 렌더링 할 수있는 것이 아닙니다. React에는 반응 요소 또는 반응 요소 목록이 필요합니다.

return this.props.tagsview.map(tags => { 
     return tags.map(p => <span className="tag" key={p.tag_id}>{p.name}</span>); 
    }); 

또는 가능

this.props.tagsview 
    .reduce((tags, view) => [...tags, ...view.map(t =><span className="tag" key={p.tag_id}>{p.name}</span>)], []) 
을 :

은 당신이해야 할 말은했다

관련 문제