代码之家  ›  专栏  ›  技术社区  ›  Jack

如何更新此状态变量?[重复]

  •  0
  • Jack  · 技术社区  · 5 年前

    我正在努力学习钩子和钩子 useState 方法让我困惑。我以数组的形式给状态赋值。中的set方法 useState 无论是否使用扩展语法,都不适用于我。

    我在另一台PC上制作了一个API,我正在调用它并获取我想要设置为状态的数据。

    这是我的代码:

    <div id="root"></div>
    
    <script type="text/babel" defer>
    // import React, { useState, useEffect } from "react";
    // import ReactDOM from "react-dom";
    const { useState, useEffect } = React; // web-browser variant
    
    const StateSelector = () => {
      const initialValue = [
        {
          category: "",
          photo: "",
          description: "",
          id: 0,
          name: "",
          rating: 0
        }
      ];
    
      const [movies, setMovies] = useState(initialValue);
    
      useEffect(() => {
        (async function() {
          try {
            // const response = await fetch("http://192.168.1.164:5000/movies/display");
            // const json = await response.json();
            // const result = json.data.result;
            const result = [
              {
                category: "cat1",
                description: "desc1",
                id: "1546514491119",
                name: "randomname2",
                photo: null,
                rating: "3"
              },
              {
                category: "cat2",
                description: "desc1",
                id: "1546837819818",
                name: "randomname1",
                rating: "5"
              }
            ];
            console.log("result =", result);
            setMovies(result);
            console.log("movies =", movies);
          } catch (e) {
            console.error(e);
          }
        })();
      }, []);
    
      return <p>hello</p>;
    };
    
    const rootElement = document.getElementById("root");
    ReactDOM.render(<StateSelector />, rootElement);
    </script>
    
    <script src="https://unpkg.com/@babel/standalone@7/babel.min.js"></script>
    <script src="https://unpkg.com/react@17/umd/react.production.min.js"></script>
    <script src="https://unpkg.com/react-dom@17/umd/react-dom.production.min.js"></script>

    也不 setMovies(result) 也没有 setMovies(...result) 作品

    我希望 result 要推入 movies 大堆

    0 回复  |  直到 4 年前