62
задан 29 December 2015 в 07:14

3 ответа

Никогда вызов setState внутренний render метод

Вы не должны никогда вызов setState внутренняя часть render метод. , Почему? вызов setState в конечном счете огни render метод снова. Это означает вызов setState (упомянутым в Вашем render блок) в цикле, который никогда не заканчивался бы. Корректный способ сделать, который является при помощи componentDidMount рычаг в, Реагирует, как так:

class CowtanApp extends Component {
  state = {
     timePassed: false
  }

  componentDidMount () {
     setTimeout(() => this.setState({timePassed: true}), 1000)
  }

  render () {
    return this.state.timePassed ? (
        <NavigatorIOS
          style = {styles.container}
          initialRoute = {{
            component: LoginPage,
            title: 'Sign In',
        }}/>
    ) : <LoadingPage/>
  }
}

тернарные операторы Использования пз для инструмента для очистки, короче и читаемого кода.

0
ответ дан 31 October 2019 в 13:28
const getData = () => {
// some functionality
}

const that = this;
   setTimeout(() => {
   // write your functions    
   that.getData()
},6000);

Простой, функция Settimout инициирована после 6 000 milliseonds

0
ответ дан 31 October 2019 в 13:28

Надеется быть проблема, когда время телефона/эмулятора отличается от того сервера (куда поставщик программного блока реагировать-собственного-компонента работает). В моем случае было различие 1 минуты между временем телефона и компьютером. После синхронизации их (не сделал ничего необычного, телефон был установлен на ручном времени, и я просто установил его для использования сети (sim) обеспеченный время), все хорошо работало. Этот проблема GitHub помогла мне найти проблему.

1
ответ дан 31 October 2019 в 13:28

Другие вопросы по тегам:

Похожие вопросы: