Получить значение по умолчанию из параметров запроса + повторяющийся код

Основная цель этой задачи — взять значения из параметра запроса и поместить их в 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>

0

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *