Основная цель этой задачи — взять значения из параметра запроса и поместить их в inputu. Первая проблема заключается в том, что я мало знаю, как это сделать, чтобы код не повторялся, и я не знаю, как конкретно я мог бы улучшить код, чтобы несколько вещей не повторялись снова. Затем функция должна содержать простую проверку min max, чтобы они не вводили глупость из параметра запроса.
getFromQuery = props => {
const { limitValues } = props;
const parsed = queryString.parse(location.search);
const validation = (value, min, max) => {
if (value < min) {
return min;
} else if (value > max) {
return max;
}
return value;
};
if (parsed.price) {
const defautPrice = limitValues.find(item => item.sliderType === 'PRICE');
props.inputs.PRICE = validation(parsed.price, defautPrice.minValue, defautPrice.maxValue);
}
if (parsed.savings) {
const defautSavings = limitValues.find(item => item.sliderType === 'SAVINGS');
props.inputs.SAVINGS = validation(parsed.savings, defautSavings.minValue, defautSavings.maxValue);
}
if (parsed.maturity) {
const defautMaturity = limitValues.find(item => item.sliderType === 'MATURITY');
props.inputs.MATURITY = validation(parsed.maturity, defautMaturity.minValue, defautMaturity.maxValue);
}
};
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.4.1/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/15.4.1/react-dom.min.js"></script>