morozota
@morozota

Как обновить компонент?

api node:
var express = require('express');
var router = express.Router();

var ch = 0
router.post('/', function(req, res) {
  ch += 1
  res.json({
    ch
  })
})

router.get('/c', function(req, res, next) {
  res.json(
    ch
  )
})

module.exports = router;


компонент react:
import React, { Component } from 'react';
import './App.css';

class App extends Component {
    state = {
        count: []
    }

    componentDidMount() {
        fetch('/users/c')
            .then(res => res.json())
            .then(count => this.setState({ count }));
    }

    render() {
        return (
            <div>
                {this.state.count}
                <button onClick={this.add}>add</button>
            </div>
        )
    }
    add = () => {
        var xhr = new XMLHttpRequest();
        xhr.open('POST', '/users/');
        xhr.send();
    }
}

export default App;


получаю нолик с сервера и отображаю. далее при нажатии на кнопку `add`, дёргаю запрос POST, что бы прибавить единичку. Единичка прибавляется, но что бы отобразилось, нужно обновить страницу. Наверно надо, что то с setState сдедать. но не пойму что
  • Вопрос задан
  • 135 просмотров
Решения вопроса 1
rockon404
@rockon404 Куратор тега React
Frontend Developer
add = () => {
  fetch('/users/', { method: 'POST' })
    .then(res => res.json())
    .then(count => this.setState({ count }));
};
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы