【问题标题】:Where should I declare state variables using Hooks in React-Native?我应该在哪里使用 React-Native 中的 Hooks 声明状态变量?
【发布时间】:2020-09-06 00:07:42
【问题描述】:

我刚开始使用 Hooks,不知道应该在哪里设置状态变量的初始值? 例如,当我们使用类组件时,我们在构造函数中设置状态

constructor(props) {
  this.state{
    test : ''
  }
}

..那么 Hooks 中的等价物是什么?

P.S:我确实知道如何在 Hooks 中设置状态和更新状态:

 const [refreshOrders, setRefreshOrders] = useState(false);
 setRefreshOrders(true);

感谢您的帮助!

【问题讨论】:

  • 通常使用hooks,无论如何您都不会在课堂上使用它们。如果您想开始使用hooks,请尝试将它们与功能组件一起使用。我认为您会发现以这种方式使用它们会更简单。
  • 您的问题是什么?因为您问过“设置状态的初始值”,然后您在 P.S. 中回答了您的问题。那么你的问题是什么?
  • @SagharMirali 最初应该在哪里设置这些?您可以使用此setRefreshOrders(true) 将其设置在任何地方,但最初必须将它们设置在某处(在安装组件之前,例如类中的构造函数)。
  • function App(){ const [refreshOrders, setRefreshOrders] = useState("这里是初始值");返回 ( ... )}

标签: reactjs react-native react-hooks react-state


【解决方案1】:
function Example() {
    const initialState = {}
    const [refreshOrders, setRefreshOrders] = useState(initialState);

如果你想改变值

function Example() {
changeState=()=>{

    setRefreshOrders({...initialState, name:'newValue'});
}

【讨论】:

  • 你把它放在哪里(比如类中的构造函数)?
  • 正常情况下,您将在功能组件的顶部定义它,以便以后使用它
  • 我做了,但后来我想在另一个函数中更改状态,但它似乎不起作用!
  • 请试着理解我的问题!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-26
相关资源
最近更新 更多