Я пытаюсь удалить излишек нашего приложения.Для этого я пытаюсь использовать новый React Hooks API.
Я написал свой собственный хук, который является расширением функции useReducer
, чтобы сохранять состояние каждый раз при его обновлении.
export default (reducer, persistKey, onRehydrate) => {
let initialState = rehydrate(persistKey)
if (onRehydrate && typeof onRehydrate === 'function') {
initialState = onRehydrate(initialState)
}
const [state, setState] = useState(initialState)
function dispatch (action) {
const nextState = reducer(state, action)
setState(nextState)
persist(nextState, persistKey)
}
return [state, dispatch]
}
Моя проблема в том, что у меня есть сценарий использования, когда моя функция отправки вызывается несколько раз за короткий промежуток времени, которые пересылаются друг на друга.Как массив, который всегда получает новый элемент, добавляемый при каждой отправке.Для этого я объединяю последнее состояние и новое состояние.Поскольку он вызывается до обновления состояния, последнее состояние не является новым состоянием последнего вызова.Поэтому мое состояние сохраняет только последнюю отправку.Есть ли способ решить эту проблему (кроме изменения способа вызова обновлений, поскольку они принадлежат стороннему компоненту)
Заранее спасибо.