#reactjs #typescript #react-native #expo #query-string
#reactjs #typescript #react-native #выставка #строка запроса
Вопрос:
Я пытаюсь получить данные на основе запроса. Однако, если я передам запрос в свой вызов api и отформатирую строку запроса. Результат будет выглядеть следующим образом:
Object {
"DE": null,
"limit": 10,
"offset": 0,
}
При правильной настройке объект должен выглядеть следующим образом:
Object {
"query": "DE",
"limit": 10,
"offset": 0,
}
(Для демонстрации моей проблемы я установил значение по умолчанию для своего запроса). Мой вызов API выглядит следующим образом:
export function thunkFetchOrders(
query = 'DE',
offset = 0,
limit = 10,
filters = {}
) {
return async (dispatch: any) => {
if (offset === 0) {
dispatch(
resetOrders()
)
}
let requestParams = {
offset,
limit,
}
requestParams = {...requestParams, ...setFilter(filters)}
if (query) {
requestParams = {...requestParams, ...queryString.parse(query)}
}
try {
const res = await axios.get(`/orders`, {params: requestParams})
await dispatch(
fetchOrders(
res.data,
limit,
offset,
filters
)
)
}
catch (error) {
await dispatch(thunkFetchError(error));
}
}
}
Что я здесь делаю не так?
Ответ №1:
Используйте эту библиотеку строк запросов, поскольку она обеспечивает как синтаксический анализ, так и stringify. https://github.com/sindresorhus/query-string