React Hook的新手,为什么一次使用后状态未定义?

时间:2020-03-14 01:58:41

标签: javascript reactjs react-hooks

我有一个问题,关于如何在react hook中声明状态。

 const [ state, setState ] = useState({
        date: new Date(),
    })

 const { date } = state;

vs

const [ date, setDate ] = useState(new Date());

在内部收益中称日期为

 return (
  <div>
    {date}
  </div>
)

console.log返回当前日期,然后为初始声明未定义,而初始声明则保持状态。

这些声明不一样吗?为什么初始状态只保留一次?

2 个答案:

答案 0 :(得分:0)

我不清楚您所说的问题,因为这是一种意外行为。我添加了一些代码here

tr

您可以使用此代码检查您的代码。我两次添加相同的组件只是为了说明每个组件之间没有连接。

答案 1 :(得分:-1)

在语句const [ date, setDate ] = useState(new Date());中 date =当前日期,因此您可以将其作为{date}

进行访问

在语句const [ state, setState ] = useState({ date: new Date(), })中 state是一个键值对分别为date和new Date()的对象。因此,您需要使用{state.date}才能访问日期。

请接受此答案,如果您有帮助的话。