首页 > 解决方案 > 反应状态管理 - AWS Amplify 中 API 调用的值未更新

问题描述

我正在使用以下代码:

    const [questionList, setQuestionsList] = useState([]);
  const questionsToPass = {};
  const [questions, setQuestions] = useState([questionsToPass]);

  useEffect(() => {
    fetchQuestions();
  }, []);

  const fetchQuestions = async () => {
    try {
      const qResponse = await API.graphql(graphqlOperation(listBig5Questions));
      const qlist = qResponse.data.listBig5Questions.items;
      
      setQuestionsList(qlist);

      questionList.map((question) => {
        questionsToPass[question.id] = question.question;
      });

      console.log("questionsToPass are ", questionsToPass);
    } catch (error) {
      console.log("error fetching questions", error);
    }
  };

我面临的问题是 questionsToPass 仅在发生新编译时填充一次。在所有后续刷新中,它都是空白的。

请帮助我如何让人口也完全刷新。

标签: reactjsaws-amplify

解决方案


推荐阅读