react native 组件间通信 局部刷新

组件化是react-native的最大优点之一,因为组件化我们可以做到局部刷新,提高性能。

如图所示 父组件包含连个子组件 添加可以动态增加子组件

react native 组件间通信 局部刷新_第1张图片

react native 组件间通信 局部刷新_第2张图片

log输出:

react native 组件间通信 局部刷新_第3张图片

add关键代码:

_onPress() {
        if(show){/*显示删除时 不能添加*/
           return ;
        }
        let arr = this.state.list;
        arr.push(this._renderItem());
        this.setState({
            list: arr,
        });
    };
    _renderItem() {
        count = this.id+1;
        this.id = count;
        return ({
                this.reflist.push(component)
            }}
                          id={count}
                          onChildHanlder={this.onChildHanlder}
            >
            
        );
    }


点击show动态更新子组件 但不刷新父组件 

如下所示:

react native 组件间通信 局部刷新_第4张图片

log:

react native 组件间通信 局部刷新_第5张图片

只刷新了子view 没有刷新父view

show关键代码:

父组件:

  /*改变item布局*/
    _show(){
        show = show?false:true;
        for(let i=0;i

子组件代码:

  change(flag){
        this.setState({flag:flag});
    }

    delete(){
        this.setState({delete:true});
    }

    hide(){
        let centerPart_right = 0;
        let rightPart_width = 0;
        return (
            
            
            
            
            
            
        );
    }
    show(){
        let id=this.props.id;
        let onChildHanlder=this.props.onChildHanlder;
        let centerPart_right =  70;
        let rightPart_width = 60;
        return (
            
            
            
            
            
                {onChildHanlder(id)}}>
                    
                        del
                    
                
            
        );
    }

github完整代码: https://github.com/wuyunqiang/react-/tree/master/test/view


你可能感兴趣的:(react-native,组件通讯,局部刷新,父组件调用子组件方法,子组件调用父组件方法)