Как создать симпатичную систему в NodeJS и React? - PullRequest
0 голосов
/ 27 июня 2019

Я создал проект «Секреты», и каждый секрет может понравиться или не понравиться пользователям. Проблема в том, что он должен увеличиваться каждый раз, когда пользователь нажимает кнопку «Мне нравится». Почему-то это не работает!

Я предполагаю, что ошибка заключается в логике маршрута, так как я уверен, что все остальное правильно. Если вы, ребята, думаете, что мне нужно объяснить / вставить немного больше кода, пожалуйста, скажите мне.

Я уже пытался сделать это, но ничего не вышло:

router.put('/like/:id', async (req, res) => {
  try {
    const secret = await Secret.findById(req.params.id);

    const maxLikes = 999999999;

    for (secret.likes = 0; secret.likes < maxLikes; secret.likes++) {
      await secret.save();
      res.json(secret.likes);
    }
  } catch (err) {
    console.error(err.message);
    res.status(500).send('Server error');
  }
});

Это мой текущий код ( ОБНОВЛЕНО ),

// @route       PUT api/secrets/like/:id
// @description Like a secret
// @access      Public
router.put('/like/:id', async (req, res) => {
  try {
    const secret = await Secret.findById(req.params.id);

    // while (secret.likes <= 0) {
    //   secret.likes++;
    // }

    secret.likes.push(1);

    await secret.save();
    res.json(secret.likes);
  } catch (err) {
    console.error(err.message);
    res.status(500).send('Server error');
  }
});

Текущее поведение таково, что он допускает только один лайк, когда он достигает 1, он больше не увеличивается. Надеюсь, я смогу объяснить себя достаточно хорошо, спасибо.

ПРИМЕЧАНИЕ: я тоже использую ExpressJS.

...