0
아래 구성 요소에 obsrv 배열을 설정합니다.구성 요소에 관찰 가능한 값이 있음
class AnnouncementState {
@observable categories =[];
constructor(){
this.getAnnouncementCategory();
}
getAnnouncementCategory() {
fetch(`..`)
.then((response) => {
return response.json();
})
.then((response) => {
this.categories = response.value.map((item , i)=>{ return {Id:item.Id, Title:item.Title} });
}, (error) => {
});
}
}
나는 검색된 값을 확인했다. 그리고 구성 요소에서 설정하고 아래에 렌더링 해보십시오.
@observer
class AnnouncementComponent extends React.Component {
categories = [];
componentWillMount(){
debugger
this.categories=this.props.announcement.categories;
}
render() {
const listItems = this.categories.map((item) => {
return (<li>...</li>)
});
return (
<div id="announcements-tab">
List Items:
<ul className="nav nav-tabs">
{listItems}
</ul>
</div>
);
}
}
모든 목록 항목을 볼 수 있지만 html에는 none ("listItems"문자열 만)이 표시 될 것으로 예상됩니다. 콘솔에는 오류가 없습니다. 어떻게 수정하고 디버깅 할 수 있습니까? "debugger"키워드를 사용하면 관찰 할 수있는 것이 없습니다.
"@inject ('store')"이 장소에 물건을 주입하는 것이 보입니다. 왜 내가 필요합니까? 의존성 주입인가요? 나는 주사를 사용하지 않았지만 코드는 여전히 작동하므로 언제 필요합니까? – TyForHelpDude
예를 들어 구성 요소가 다른 구성 요소 안에있을 때 저장소를 완전히 통과하지 못하도록하려면 Provider를 사용하여 저장소를 전달하고 Inject를 사용하여 특정 구성 요소에서 인스턴스를 가져옵니다. – Hosar