Как изменить стейт при условии? React Hooks

Подскажите как изменить состояние хука setTime в данном onChange:

const [ time, setTime ] = useState('');

onChange = event => {
  const re = /^[0-9\b]+$/    
  if (event.target.value === '' || re.test(event.target.value)) {
    setTime(this.setState({value: event.target.value}))
  }
}

В моем случае он выдает вполне логичную ошибку:

TypeError: Cannot read property 'setState' of undefined

Ответы (1 шт):

Автор решения: Vasily

В хуках Вам не требуется писать this перед вызовом dispatcher'a setTime:

const [time, setTime] = useState("")

const onChange = event => {
  const value = event.target.value
  const regex = /^[0-9\b]+$/    
  if (value === "" || regex.test(value)) {
    setTime(value)
  }
}

Так же изначально initialState у Вас равен пустой строке, а впоследствии Вы пытаетесь заменить его на объект с ключом value.

→ Ссылка