在智能手机和Android模拟器之间反应本机,性能

时间:2018-08-14 14:07:19

标签: android reactjs react-native

我正在为ororid开发一个应用程序,但是模拟器和智能手机之间会发生不同的事情。刷新FlatList时,它不遵守我强加的setTimout,因此无法正确刷新。

该应用显示/删除本地数据库(react-native-local-mongodb)usign redux中的图像。 我是“反应和ES6世界”中的新成员,然后我不知道很多正确的代码(例如Promises或async-await)。 我应该在减速器中做所有事情,但是失败了,然后我发明了这个奇怪的代码。

这是调用减速器的功能

using (IEnumerator<PXResult<MyTable>> enumerator = PXSelect<MyTable, Where<MyTable.inventoryID, Equal<Current<INItemSiteSummary.inventoryID>>, And<MyTable.siteID, Equal<Current<INItemSiteSummary.siteID>>>>>.SelectMultiBound(this, new object[] { itemsite }).GetEnumerator())
        {
            while (enumerator.MoveNext())
            {
                PXDatabase.Delete<MyTable>(new PXDataFieldRestrict[]
                    {
                        new PXDataFieldRestrict("InventoryID",itemsite.InventoryID),
                        new PXDataFieldRestrict("SiteID",itemsite.SiteID)
                    });
            }
        }

在减速器中删除数据库中的图像并设置新状态,然后在第1030ms后返回第一种方法从数据库刷新数据。

 deleteImages=()=>{
        Alert.alert(
            'Alert',
            'Are You sure to delete images?',
            [
                {text:'Yes, I am', onPress:()=>{
                    function start(){
                        setTimeout(del,1);
                        setTimeout(restoreDataFromDB,1000);
                        setTimeout(refState1,1500);
                        setTimeout(refState2,1550);
                    };
                    del=()=>{
                        //console.log('init_1');
                        this.props.onDeleteImages();
                    };
                    restoreDataFromDB=()=>{
                        //console.log('init_2.1');
                        let images=[];
                        db.loadDatabase(err=>{
                            db.find({_id:this.props.selectedPost},(erro,doc)=>{
                                doc.map((ele)=>{
                                    ele.imagesStored.map(elem=>{
                                        images.push(elem);
                                    });
                                });
                                this.setState({imagesStored:images});
                            });
                        });

                    };
                    refState1=()=>{
                        //console.log('init_3');
                        this.setState({refreshing:true,isChecked:false});

                    };
                    refState2=()=>{
                       // //console.log('init_4');
                        this.setState({refreshing:false});
                        this.componentDidMount();

                    };
                    try{
                        start();
                    }catch(err){
                       // //console.log('err: '+err);
                    }}
                },
                {text:'No I`m not',onPress:()=>{},style:'cancel'}
            ]);
    };

我的仿真器可以正常工作(保存/删除/显示图像),但是在智能手机中却不能删除图像。

0 个答案:

没有答案