react18涓殑璁$畻灞炴€у強useMemo鐨勬€ц兘浼樺寲鎶€宸? react18閲岄潰鐨勮绠楀睘鎬у拰浣跨敤useMemo鏉ユ彁鍗囩粍浠舵€ц兘鐨勬柟娉?

react18涓殑璁$畻灞炴€у強useMemo鐨勬€ц兘浼樺寲鎶€宸?

react18閲岄潰鐨勮绠楀睘鎬у拰浣跨敤useMemo鏉ユ彁鍗囩粍浠舵€ц兘鐨勬柟娉?/p>

璁$畻灞炴€?/h3>
  • 瀹炵幇鏁堟灉
    react18涓殑璁$畻灞炴€у強useMemo鐨勬€ц兘浼樺寲鎶€宸?></li><li>浠g爜瀹炵幇<br /> 鍑芥暟寮忕粍浠舵瀬绠€娲佺殑瀹炵幇锛屽氨杩欐牱</li></ul> 
<pre><code ><span >import</span> <span >{<!-- --></span> useState <span >}</span> <span >from</span> <span >; function FullName() { const [firstName, setFirstName] = useState(""); const [lastName, setLastName] = useState(""); const fullName = firstName + " " + lastName; return ( <> <h1>fullname:{fullName}</h1> <label> First Name : <input type="text" value={firstName} onChange={(e) => setFirstName(e.target.value)} /> </label> <br /> <label> Last Name : <input type="text" value={lastName} onChange={(e) => setLastName(e.target.value)} /> </label> </> ); } export default FullName;

    璁$畻澶х殑鏂规硶缂撳瓨

    瀛愮粍浠朵細鍥犱负props鍜?code>state鐨勫彉鍖栬€岄噸鏂版覆鏌擄紝杩欏叾涓鏋滄湁寰堝ぇ璁$畻閲忕殑鏂规硶鐨勮瘽锛屽氨浼氫弗閲嶆嫋鎱㈤〉闈㈠姞杞介€熷害銆傚儚涓嬮潰杩欑灏辨槸鍥犱负涓€涓棤鍏崇殑鏇存柊锛屽鑷磋绠椾竴浼氬湪鎵ц锛岃绠楅噺澶х殑璇濇€ц兘鎹熻€楀緢澶?br /> react18涓殑璁$畻灞炴€у強useMemo鐨勬€ц兘浼樺寲鎶€宸?></p> 
<pre><code ><span >import</span> <span >{<!-- --></span> useState<span >,</span> useMemo <span >}</span> <span >from</span> <span >; function TodoList({ todos, filter }) { const [newTodo, setNewTodo] = useState(""); const visibleTodos = getFilteredTodos(todos, filter); return ( <> <ul> {visibleTodos.map((todo) => { return <li>{todo.name}</li>; })} </ul> {newTodo} <br /> <input value={newTodo} onChange={(e) => setNewTodo(e.target.value)} /> </> ); } function getFilteredTodos(todos, filter) { console.log("馃殌 ~ getFilteredTodos ~ todos:", todos); return todos.filter((todo) => { return filter.call(null, todo); }); } export default TodoList;

    浼樺寲浠g爜

    import { useState, useMemo } from "react";
    function TodoList({ todos, filter }) {
      const [newTodo, setNewTodo] = useState("");
      const visibleTodos = useMemo(
        () => getFilteredTodos(todos, filter),
        [todos, filter]
      );
      return (
        <>
          <ul>
            {visibleTodos.map((todo) => {
              return <li>{todo.name}</li>;
            })}
          </ul>
          {newTodo}
          <br />
          <input value={newTodo} onChange={(e) => setNewTodo(e.target.value)} />
        </>
      );
    }
    
    function getFilteredTodos(todos, filter) {
      console.log("馃殌 ~ getFilteredTodos ~ todos:", todos);
      return todos.filter((todo) => {
        return filter.call(null, todo);
      });
    }
    export default TodoList;
    

    react18涓殑璁$畻灞炴€у強useMemo鐨勬€ц兘浼樺寲鎶€宸?><br /> <strong>杩欎細鍛婅瘔 React锛岄櫎闈?todos 鎴?filter 鍙戠敓鍙樺寲锛屽惁鍒欎笉瑕侀噸鏂版墽琛屼紶鍏ョ殑鍑芥暟</strong>锛岃繖鏍锋垜浠垜浠殑璁$畻灏变笉浼氬湪鏃犲叧鐨勭姸鎬佸彉鍖栨椂鎵ц浜嗭紝鏋佸ぇ鐨勬彁鍗囦簡鎬ц兘銆?/p> </div>
                  <p class=

上一篇:vivoy70s参数配置详情(vivoy76s配置参数)
下一篇:nba新闻最新消息(NBA最新的新闻十大软蛋都是谁)