LINUX.ORG.RU

История изменений

Исправление vvn_black, (текущая версия) :

В голове сидит идея получения всех данных одним jsn-om в корневом компоненте.

А если от этого отказаться, то можно и без редукса, прям как в доке:

class Widget extends Component {

  constructor = props => {
    super(props);
    this.state = {value: {}};
  }

  componentDidMount = () => {
    this.timerID = setInterval(
      fetch('http://192.168.0.10/get/temperature')
        .then(response => response.json())
        .then(json => this.setState({value: json})
        .catch(error => console.log(error)),
      5000);
  };

  componentWillUnmount = () => {
    clearInterval(this.timerID);
  };


  render() {
    return (
      <div>{this.state.value.temperature}</div>
    )
  }
}

Исходная версия vvn_black, :

В голове сидит идея получения всех данных одним jsn-om в корневом компоненте.

А если от этого отказаться, то можно и без редукса, прям как в доке:

class Widget extends Component {

  constructor = props => {
    super(props);
    this.state = {value: {}};
  }

  componentDidMount = () => {
    this.timerID = setInterval(
      fetch('http://192.168.0.10/get/temperature')
        .then(response => response.json())
        .then(json => this.setState({value: json})
        .catch(error => console.log(error)),
      5000);
  };

  componentWillUnmount = () => {
    clearInterval(this.timerID);
  };


  render() {
    return (
      <div>{this.state.temperature}</div>
    )
  }
}