首页 > 解决方案 > 检索对象的值

问题描述

嗨,我有一个对象如下:

const state = {
     working: "I am currently working",
     studying: " I am currently studying",
}

如果状态发生变化,我希望能够从此对象中检索文本“我正在工作”或“我正在学习”。

我的代码目前如下:

const currentState = "working";
{currentState === "working" ? state.working : state.studying}

我想知道是否有更好的方法可以在不使用三元组的情况下检索文本,我也不介意使用数组。

标签: reactjsreact-native

解决方案


您可以在组件外部创建一个const并在组件中使用布尔状态:

const message = {
  working: 'I am currently working',
  studying: 'I am currently studying',
}

export function App() {
  const [working, setWorking] = useState(false) // or true

  return (
    <>
      <div>{working ? message.working : message.studying}</div>
      <button onClick={() => setWorking((w) => !w)}>Click</button>
    </>
  )
}

推荐阅读