React native react native上的MobX反应状态

React native react native上的MobX反应状态,react-native,mobx-react,React Native,Mobx React,我正在开发一个成就功能页面,其中的级别、图像和目标将根据当前的分数进行更改。但是当页面挂载时,代码似乎不起作用 我使用MobX进行状态管理存储,我的代码如下: import { observable, computed, action } from 'mobx'; import { AsyncStorage } from 'react-native'; export default class Trophy { @observable ScoreBoard = [ {

我正在开发一个成就功能页面,其中的级别、图像和目标将根据当前的分数进行更改。但是当页面挂载时,代码似乎不起作用

我使用MobX进行状态管理存储,我的代码如下:

import { observable, computed, action } from 'mobx';
import { AsyncStorage } from 'react-native';

export default class Trophy {

    @observable ScoreBoard = [
     {
        scoreID: 0,
        scoreTitle: 'Trophy 0',
        scoreIcons: require('../../assets/images/robot-dev.png'),
        scoreCurrent: 1010,
        scoreTarget: 1000,
        scoreLevel: 1
    }, {
        scoreID: 1,
        scoreTitle: 'Trophy 1',
        scoreIcons: require('../../assets/images/robot-dev.png'),
        scoreCurrent: 0,
        scoreTarget: 1000,
        scoreLevel: 1
    }, {
        scoreID: 2,
        scoreTitle: 'Trophy 2',
        scoreIcons: require('../../assets/images/robot-dev.png'),
        scoreCurrent: 0,
        scoreTarget: 1000,
        scoreLevel: 1
    }, {
        scoreID: 3,
        scoreTitle: 'Trophy 3',
        scoreIcons: require('../../assets/images/robot-dev.png'),
        scoreCurrent: 0,
        scoreTarget: 1000,
        scoreLevel: 1
    }, {
        scoreID: 4,
        scoreTitle: 'Trophy 4',
        scoreIcons: require('../../assets/images/robot-dev.png'),
        scoreCurrent: 0,
        scoreTarget: 1000,
        scoreLevel: 1
    }, {
        scoreID: 5,
        scoreTitle: 'Trophy 5',
        scoreIcons: require('../../assets/images/robot-dev.png'),
        scoreCurrent: 0,
        scoreTarget: 1000,
        scoreLevel: 1
    }
]

@computed get updateScore() {
    // Dive into each score block
    this.ScoreBoard.forEach((score) => {
        if(score.scoreID === 1) {
            if(score.scoreCurrent >= 0 && score.scoreCurrent < 1000) {
                return console.log('level 1');
            }else if(score.scoreCurrent >= 1001 && score.scoreCurrent < 2000){
                return console.log('level 2');
                this.score.scoreLevel = 2;
                this.score.scoreTarget = 2000;
            }else if(score.scoreCurrent >= 2001 && score.scoreCurrent < 3000) {
                return console.log('level 3');
            }else if(score.scoreCurrent <= 3001) {
                return console.log('level 4');
            }
        }else if(score.scoreID === 2) {
            return console.log(score.scoreTitle);
        }else if(score.scoreID === 3) {
            return console.log(score.scoreTitle);
        }else if(score.scoreID === 4) {
                return console.log(score.scoreTitle);
           }else if(score.scoreID === 5) {
                return console.log(score.scoreTitle);
            }else {
                return console.log(score.scoreTitle);
            }
        });
    }
}
import{observable,computed,action}来自'mobx';
从“react native”导入{AsyncStorage};
导出默认类奖杯{
@可观察记分板=[
{
scoreID:0,
比分标题:“奖杯0”,
scoreIcons:require('../../assets/images/robot-dev.png'),
当前分数:1010,
得分目标:1000分,
成绩等级:1
}, {
scoreID:1,
比分标题:“奖杯1”,
scoreIcons:require('../../assets/images/robot-dev.png'),
当前分数:0,
得分目标:1000分,
成绩等级:1
}, {
scoreID:2,
比分标题:“奖杯2”,
scoreIcons:require('../../assets/images/robot-dev.png'),
当前分数:0,
得分目标:1000分,
成绩等级:1
}, {
scoreID:3,
比分标题:“奖杯3”,
scoreIcons:require('../../assets/images/robot-dev.png'),
当前分数:0,
得分目标:1000分,
成绩等级:1
}, {
scoreID:4,
比分标题:“奖杯4”,
scoreIcons:require('../../assets/images/robot-dev.png'),
当前分数:0,
得分目标:1000分,
成绩等级:1
}, {
分数:5,
比分标题:“奖杯5”,
scoreIcons:require('../../assets/images/robot-dev.png'),
当前分数:0,
得分目标:1000分,
成绩等级:1
}
]
@计算得到的get updateScore(){
//潜入每个记分格
此.ScoreBoard.forEach((分数)=>{
如果(score.scoreID==1){
如果(score.scoreCurrent>=0&&score.scoreCurrent<1000){
返回console.log(“级别1”);
}否则如果(score.scoreCurrent>=1001&&score.scoreCurrent<2000){
返回console.log('level2');
this.score.scoreLevel=2;
this.score.scoreTarget=2000;
}否则如果(score.scoreCurrent>=2001&&score.scoreCurrent<3000){
返回控制台日志(“级别3”);
}else if(score.score当前)