Как я видел в документе, useState
и useReducer
выполняют ту же работу.Просто useReducer
нужно что-то сделать вручную и лучше для сложного состояния.
Мой вопрос, что быстрее ?Я имею в виду, что сделает работу за меньшее время?
В настоящее время я использую useState
:
const [messages, setMessages] = useState({});
const setMessage = (message, room) => {
setMessages(messages => {
if (messages[room] !== undefined)
return {...messages, [room]: [message, ...messages[room]] };
else return { ...messages, [room]: [message] };
});
}
Здесь, как вы можете видеть, я храню сообщения каждой комнаты с помощью setMessages.Это работает очень хорошо, но я сбиваю с толку, будет ли быстрее , если я использую useReducer
вместо useState
?
мой объект сообщения будет таким, как показано ниже:
const message = {
id: 'randomid',
text: 'a message text',
date: new Date(),
user: 'user1',
sent: false,
received: false,
delevered: false
}
const room = 'somerandomeroomid';