我想在商店设置变量。 这是我的商店
class storeCategory{
@observable categories =[];
@action getCategories = () =>{
fetch('http://localhost:3000/categories')
.then((resp) => resp.json())
.then(function(resp2){
this.categories=resp2;
});
}
}
这是我的组件
@inject('sCategory')
@observer
class Category extends React.Component{
componentDidMount=()=>{
this.props.sCategory.getCategories();
}
render(){
const {sCategory} = this.props;
return (
<ListGroup>
{this.props.sCategory.categories.map((cat, index) => {
return (
<ListGroupItem key={cat.id}>{cat.categoryName}</ListGroupItem>
)
})}
</ListGroup>
);
}
}
我将 sCategory 添加到index.js的提供商
在获取方法中 this.categories = resp2 出现此错误;
无法设置未定义的属性“类别”
答案 0 :(得分:0)
改为使用箭头功能:
@action getCategories = () =>{
fetch('http://localhost:3000/categories')
.then((resp) => resp.json())
.then((resp2) => {
this.categories=resp2;
});
}`
function关键字将“ this”关键字绑定到自身,但是箭头功能将其绑定到上下文