猿问

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

我想在商店设置变量。这是我的商店


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>

          );

    }

}

我在 index.js中将 sCategory添加到Provider


我在 fetch 方法中的this.categories=resp2处收到此错误;


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


慕慕森
浏览 136回答 1
1回答

呼啦一阵风

改用箭头函数:@action getCategories = () =>{&nbsp; &nbsp; fetch('http://localhost:3000/categories')&nbsp; &nbsp; .then((resp) => resp.json())&nbsp; &nbsp; .then((resp2) => {&nbsp; &nbsp; &nbsp; &nbsp; this.categories=resp2;&nbsp; &nbsp; });}`函数关键字将“this”关键字绑定到自身,但箭头函数将其绑定到上下文
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答