关于 React 状态 (React State)

首先

通过使用state的功能,可以简洁而明确地描述状态转换的逻辑。可以通过正式调用,在数行代码中实现复杂的状态转换处理。

另外,在React 16.8中添加了一项名为”hook”的新功能,使得可以在不编写类组件的情况下使用React的诸多功能,包括state。
在hook实现之前,常见的做法是使用类组件的语法来使用state等功能。
通过hook的实现,我们可以在函数组件中使用state等功能,并且实现相对简单。

我实际上没有在类组件中使用过hook的经验,但是当我比较使用函数组件时的实现和代码时,理解起来可能需要一些时间。

Reshaping the sentence and providing a similar meaning in Chinese:

状态挂钩

 const [count, setCount] = useState(0);

useState的参数是该状态的初始值,count的值为”0″。
setCount是用于更新count值的函数,只能通过它来修改count的值。

    クリックする度にカウントが進んでいく例
<button onClick={() => setCount(count + 1)}>
    Click me
</button>

此外,与其他钩子功能结合使用,还可以实现各种其他功能。

其他钩子

效果 guǒ)

通过传递`state`参数,可以控制渲染的时机。

useEffect(() => {
    console.log("レンダーされました。");
}, [state]);

请用汉语将以下内容进行释义,只需要提供一种选项:

背景信息。

可以管理样式的状态转换

const themes = {
  light: {
    foreground: "#000000",
    background: "#eeeeee"
  },
  dark: {
    foreground: "#ffffff",
    background: "#222222"
  }
};

const ThemeContext = React.createContext(themes.light);

function App() {
  return (
    <ThemeContext.Provider value={themes.dark}>
      <Toolbar />
    </ThemeContext.Provider>
  );
}

function Toolbar(props) {
  return (
    <div>
      <ThemedButton />
    </div>
  );
}

function ThemedButton() {
  const theme = useContext(ThemeContext);
  return (
    <button style={{ background: theme.background, color: theme.foreground }}>
      I am styled by theme context!
    </button>
  );

結尾

我刚刚开始学习React,但希望能够进一步加深我的知识,将来能够分享有价值的信息。

广告
将在 10 秒后关闭
bannerAds