У меня конкретная проблема, что две перменные props имеют три разных значения в одном компоненте. Суть такая, что мне нужно принять с сервера массив товаров и вычислить максимальное и минимальное значение цены, чтобы задать дефолтные значения и макс. минимальные для слайдера. Я предполагаю, что нужно это делать сразу после получения. Я не стал выкладывать сюда функции по нахождению макс. и мин. значению, тк ошибка возникает даже с этим упрощенным кодом. Как видно на скриншоте, второе дефолтное значение у слайдера остается то что задано в initial state.
Если экшн будет синхронным, обычным, то все ок... Прошу помочь. Как правильно работать с данными полученными с сервера асинхронно ?
Код и скриншот ниже.
Часть кода компонента
max = this.props.max
min = this.props.min
<div className="filter__price">
<h4>{ min }-</h4>
<h4>{ max }</h4>
</div>
<Slider range step={100}
defaultValue={[min, max]}
min={min} max={max}
/>
Actions
export const requestPosts = () => ({
type: "REQUEST_POSTS"
})
export const receivePosts = (json) => ({
type: "RECEIVE_POSTS",
posts: json,
receivedAt: Date.now()
})
export function fetchPosts() {
return function (dispatch) {
dispatch(requestPosts())
return fetch('http://localhost:3000/studios')
.then(response => response.json())
.then(json => dispatch(receivePosts(json)))
}
}
Reducers
const INITIAL_STATE = {
list: [],
min: 1400,
max: 1700,
};
const receivePosts = (state, action) => {
return {...state,
list: action.posts,
max: 1800,
min: 1500
}
}
export default (state = INITIAL_STATE, action) => {
switch (action.type) {
case 'CHANGE_VALUE':
return changeValue(state,action)
case 'RECEIVE_POSTS':
return receivePosts(state,action)
}
return state
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Здравствуйте, подскажите, пожалуйста, как из initphp или из обработчика событий, сбросить Кеш шаблона компонента средствами Bitrix API?
Сайт на MODx Revo, размещен на локалке OpenServerСтавлю плагин на сайт и при выполнение плагина вылетает сообщение Your server does not support shell-commands
Добрый деньЕсть необходимость в парсинге страницы яндекс