带有类组件的ReactNative switch语句

jgwigjjp  于 2022-12-24  发布在  React
关注(0)|答案(1)|浏览(147)

我正在做react原生expo项目,我正在尝试使用switch语句i 6 user tourney将值重新分配给componentDidMount()上的类组件状态,所以这就是为什么我不能使用if语句

async componentDidMount() {
    
    this.state.accessToken = await token.get();
  
    // Setp Global State
    
      let finalSteps = 1;
      
      switch(finalSteps){
        (case accessToken ? && this.props.navigation.getParam('search_type') == 3 )
        { return finalSteps = 11}
        
        case ( accessToken ? && this.props.navigation.getParam('requestType') == 1) {
          finalSteps = 6
         }
       ...
        case (!accessToken) {
           finalSteps = 3
         }
      } 
     
      dispatch(setDefaultStepsNumber(finalSteps))
      
  }

switch语句在我的代码switch(final Steps)上是否正确我有太多条件,每个条件都要返回不同的finalSteps值?看起来是语法错误

fnvucqvd

fnvucqvd1#

你不能在上面的场景中使用switch case,因为你的条件不依赖于单个键的值。在这些情况下,你可以使用条件(三元)运算符来赋值,如下所示

async componentDidMount() {
    const accessToken = await token.get();
    let finalSteps = 1;
    if (!accessToken) finalSteps = 3
    else {
      finalSteps = this.props.navigation.getParam('search_type') == 3 ? 11
        : this.props.navigation.getParam('requestType') == 1 ? 6
          : 1 // all other conditions like above
    }
    dispatch(setDefaultStepsNumber(finalSteps))
  }

相关问题