Как кто-то отправит данные из React в Node (точнее, Sails)? - PullRequest
0 голосов
/ 08 мая 2018

Я делаю все «вычисления» на бэкэнде, но пользовательский ввод происходит на стороне React (очевидно :)). Как передать простой кусок данных в бэкэнд Sails?

Я сказал «просто», потому что это будет число (например, 201805). При каждом событии щелчка это может быть другое число, поэтому можно отправлять некоторый пост-запрос в бэкэнд Sails (Node) при каждом его изменении, чтобы бэкэнд выполнял необходимые вычисления каждый раз, когда пользователь изменяет значение в веб-интерфейсе. .

Спасибо!

1 Ответ

0 голосов
/ 08 мая 2018

На самом деле не имеет значения, какой бэкэнд вы используете, он просто зависит от React или от того, что вы делаете на своем веб-интерфейсе, и от формата данных (JSON).

В React вы можете использовать state и хук onChange для своих входов, а также обновлять и отправлять обновленные данные на ваш сервер (бэкэнд) при отправке с помощью fetch или библиотекой, подобной axios, которые предназначены для запросов к API.

Так, например:

class ExampleForm extends React.Component {
  state = {
    dataToSend: '',
  }

  onChange = (e) => { // On input change
    this.setState({
      dataToSend: e.target.value
    })
  }

  onSubmit = () => {
      axios.post('/api/whatever', { this.state.dataToSend })
    }
  }

  render() {
    return (
      <form onSubmit={this.onSubmit}>
          <label>Number</label>
          <input
            type="number"
            value={this.state.dataToSend}
            onChange={this.onChange}
          />
        <button type='submit'>Send Data</Button>
      </form>
    )
  }
}
...