为了账号安全,请及时绑定邮箱和手机立即绑定

存储来自 mongodb 的值并验证

存储来自 mongodb 的值并验证

郎朗坤 2023-09-07 10:11:29
我一直对php和sql比较感兴趣,但是我决定更多地了解js。所以,我创建了测验应用程序。(reactjs、nodejs 和 mongodb)应用程序可以运行!几乎。有些事情我不满意,我不知道如何解决。api.jsrouter.get('/', (req, res) => {    Quiz.aggregate([ { $sample: { size: 1 } } ])        .then((data) => {            console.log('Data: ', data);            res.json(data);        })        .catch((error) => {            console.log('erorr: ', error)        })});应用程序.js  getQuestionAndAnswers = () => {    axios.get('http://localhost:8080/api')      .then((response) => {        const data = response.data;        this.setState({posts: data});        console.log('Data has been received');      })      .catch(() => {        alert('Error retrieving data');      })  } displayQuiz = (posts) => {    if (!posts.length) return null    return posts.map((post, index) => (      <div key={index}>        <p>{post.question}</p>        <button value={post.answer} onClick={(e) => this.checkAnswer(e, post)}><p>A. {post.answer}</p></button>        <button value={post.answer2} onClick={(e) => this.checkAnswer(e, post)}><p>B. {post.answer2}</p></button>      </div>    ));  }; checkAnswer = (e,post) => {    console.log(e.currentTarget.value);    if(e.currentTarget.value === post.c_answer){      console.log('correct');    }else{      console.log('incorrect');    }  };正如您所看到的,我将数据存储在按钮值中,我认为这不是最好的解决方案,因为存储在那里的答案可能非常大,但我不知道如何做得更好。所以,我必须更改答案检查,因为此时,我将正确答案与单击的值进行比较,是否有更好的解决方案?我想添加一个函数,由于错误的答案会将颜色更改为红色,而正确的答案会将颜色更改为绿色,我想在执行 if() 后添加 css 类就足够了。对于我点击的按钮来说,做到这一点并不困难,但是其余的呢?感谢您的任何建议!
查看完整描述

目前暂无任何回答

  • 0 回答
  • 0 关注
  • 76 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信