сообщение об ошибке из экспресс-отображения на реагировать - PullRequest
1 голос
/ 18 апреля 2019

как можно настроить отображение сообщения об ошибке при реагировании на нажатие кнопки. Кнопка создается динамически*

экспресс

router.post("/registerClass", (req, res) => {
  // const courseID = req.body.courseID
  // const studentID = req.body.studentID
  console.log(req.body.courseID);

  Registration.findOne({
    $and: [
      {
        courseID: req.body.courseID
      },
      {
        studentID: req.body.studentID
      }
    ]
  })
    .exec()
    .then(reg => {
      if (reg) {
        return res.status(400).json({
          err: "Already Registered for this class"
        });
      } else {
        const registration = new Registration({
          _id: new mongoose.Types.ObjectId(),
          courseID: req.body.courseID,
          studentID: req.body.studentID
        });
        registration.save().then(result => {
          res.status(201).json({
            Msg: "Succesfully Register"
          });
        });
      }
    })
    .catch(err => {
      console.log(err);
      res.status(500).json({
        err: err
      });
    });
});

реакция

registerClass = e => {
this.setState({
  courseID: e.target.value
});
e.preventDefault();
var data = {
  studentID: this.state.studentID,
  courseID: this.state.courseID
};
axios.post("users/registerClass", data).then(res => {
  if (res.status === 201) {
    console.log(res.status);
  }
  console.log(res.data.errors);
});
// .catch(err => {
//   console.log(err);
// });

};

1 Ответ

1 голос
/ 18 апреля 2019

Если я правильно понял ваш вопрос, то это может дать на него ответ.

Простейший вариант Вы можете просто вызвать диалоговое окно с предупреждением об ошибке, чтобы показать ошибку.

window.alert(res.data.errors);

Второй вариант, который вы можете использовать response-toastify библиотека npm или любая из аналогичных библиотек, доступных там, для отображения ошибки или любого типа предупреждения на вашей веб-странице.

Третий вариант - создать собственный тип SnackbarКомпонент, представляющий собой диалоговое окно, которое появляется при каждом вызове.Затем вы можете сделать этот компонент видимым каждый раз, когда вы получаете сообщение об ошибке на стороне клиента.Если у вас возникнут какие-либо проблемы с этим, я могу помочь вам с кодом.

Надеюсь, что он смог ответить на ваш вопрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...