为了账号安全,请及时绑定邮箱和手机立即绑定

无法设置未定义的属性“x”

无法设置未定义的属性“x”

慕慕森 2021-11-18 16:01:04
我想在商店设置变量。这是我的商店class storeCategory{    @observable categories =[];    @action getCategories = () =>{        fetch('http://localhost:3000/categories')        .then((resp) => resp.json())        .then(function(resp2){            this.categories=resp2;        });    }}这是我的组件@inject('sCategory')@observerclass 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>          );    }}我在 index.js中将 sCategory添加到Provider我在 fetch 方法中的this.categories=resp2处收到此错误;无法设置未定义的属性“类别”
查看完整描述

1 回答

?
呼啦一阵风

TA贡献1802条经验 获得超6个赞

改用箭头函数:


@action getCategories = () =>{

    fetch('http://localhost:3000/categories')

    .then((resp) => resp.json())

    .then((resp2) => {

        this.categories=resp2;

    });

}`

函数关键字将“this”关键字绑定到自身,但箭头函数将其绑定到上下文


查看完整回答
反对 回复 2021-11-18
  • 1 回答
  • 0 关注
  • 135 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信