2016-04-13 1 views
0

Я пытался сказать, что я не в состоянии установить значение с помощью SetState в функции sportsBasketballChange но я могу установить его в функции sportsSoccerChangesportsBasketballChange другое место, его не устанавливать состояние правильно

  • Я новичок to react.js
  • Я пытаюсь установить значение с помощью setState.
  • в sportsSoccerChange функция его правильной установки setState.
  • but sportsBasketballИзмените другое место, чтобы оно не было настроено правильно.
  • Можете ли вы, ребята, сказать мне, как это исправить.
  • предоставление моего кода ниже.

часть кода

sportsSoccerChange(value) { 
    this.props.onChange(); 

    let processedValue = value; 

    // sportsMessages sportsAirFalling 
    processedValue = sportsAirFallBALL(processedValue, this.props.sportsAirFall); 

    // sportsSuceessOnTime-ation 
    let sportsSuceessOnTime-ationResult = sportsSuceessOnTime-ateBALL(processedValue, this.props.sportsDrive); 
    if (sportsSuceessOnTime-ationResult === true) { 
     this.setState({ sportsOutcome: 'sportsSuceessOnTime-' }); 
     ///here i get value as sportsSuceessOnTime- 
    } 
    //this.setState({ isBALLValid: sportsSuceessOnTime-ationResult }); 

    // formatting 
    processedValue = formatBALL(processedValue, this.props.sportsLongJump); 

    // set value in local component state 
    this.setState({ sportsMessagesValue: processedValue }); 
}, 

sportsBasketballChange() { 
    if (this.state.sportsOutcome === 'female') { 
     this.setState({ sportsOutcome: 'sportsSuceessOnTime-' }); 
     ///here i don't get value as sportsSuceessOnTime- 
    } 
}, 

весь код здесь

https://gist.github.com/js08/e20c02bf21242201c1525577d55dedbc

+0

Мы не знаем, что вы просите. Мы также не являемся бесплатной программой кодирования. Когда вы найдете конкретную, суженную проблему, мы здесь, чтобы помочь. –

+0

@AaronGillion Спасибо за ваш ответ ... Я попытался сказать, что я не могу установить значение с помощью setState в функции sportsBasketballChange, но я могу установить его в функции SportsSoccerChange ..... –

+0

@ all Я попробовал отладки, но не смогли найти решение ... PLS Dont отметить его negaive –

ответ

0

Я предполагаю, что вы проверяете значение this.state на этих комментировал линий, либо с помощью протоколирования или отладки ,

setState является асинхронным. Это означает, что нет гарантии, что изменения произошли к моменту достижения следующей строки кода. Тем не менее, setState позволяет предоставить функцию обратного вызова, которая будет запущена после того, как состояние завершит обновление. Это, где вы должны проверить обновленное значение.

sportsBasketballChange() { 
    if (this.state.sportsOutcome === 'female') { 
     this.setState({ sportsOutcome: 'sportsSuceessOnTime-' }, 
      function(){ 
       console.log(this.state.sportsOutcome); // == 'sportsSuceessOnTime-' 
      } 
     ); 
     console.log(this.state.sportsOutcome); // untrustworthy 
    } 
}, 
+0

благодарит за ответ –

+0

действительно реагирует на какие-либо шаблоны js design –

Смежные вопросы