在react中自己实现双向帮绑定

function bind(component,arr){
    const _com={};
    arr.forEach(item => {
        _com[item]=component.item;
        Object.defineProperty(component,item,{
            get:function(){
                return _com[item]
            },
            set: function(v){
                _com[item]=v;
                component.setState({[item]:_com[item]})
            }
        })
    });

}
class Test{
    constructor(){
        this.a=1;
        this.b=2;
        bind(this,["a","b"])
    }
    setState(obj){
        console.log(obj)
    }

}
var t=new Test();
t.a=100;
console.log(t.a)
发布了21 篇原创文章 · 获赞 2 · 访问量 7283

猜你喜欢

转载自blog.csdn.net/qq_31261131/article/details/81160195
今日推荐