我在這樣宣告的“第一個檔案”中有一個狀態變數“day”:
const [day, setDay] = useState('');
試圖清理我的代碼我必須將“setDay”的代碼移動到另一個我稱之為服務的檔案中,我想要我的程式的所有資料庫內容。
我的問題是如何從另一個檔案訪問 setDay 方法并能夠用我的資料庫的結果填充它。提前謝謝。
uj5u.com熱心網友回復:
這被稱為提升狀態,它在反應檔案中提到。
uj5u.com熱心網友回復:
一般來說,useState應該只在組件中呼叫。
如果你想擁有一個集中的狀態檔案,那么看看 React Context 或者像 MobX 這樣的狀態庫。
如果您只想將useState組件的一部分(僅在該組件中使用)拆分到另一個檔案中,請查看創建自定義掛鉤。
uj5u.com熱心網友回復:
為更改日期創建子組件。這是您將訪問setDay從父組件傳遞的函式的地方
ChangeDay.js
export const ChangeDay = ({ onHandleDay }) => {
return (
<div className="App">
<h2>Button below to change:</h2>
<button onClick={() => onHandleDay("TUESDAY")}>CLICK ME</button>
</div>
);
};
然后在里面App.js傳球setDay給onHandleDay道具。
import { useState } from "react";
import { ChangeDay } from "./ChangeDay";
export default function App() {
const [day, setDay] = useState("Monday");
return (
<div className="App">
<h1>Hello {day}</h1>
<ChangeDay onHandleDay={setDay} />
</div>
);
}
作業演示
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/486251.html
