При очищении остается 0 в input value React.js

315
18 июля 2017, 21:20

Разрабатывая компонент столкнулся с проблемой - input value при удаление значения из input до конца не удаляется - всегда остается 0. Логика компонента следующая - input получает начальное значения value из Redux store. Изменяя значения в одном из input-от ми диспатчим store и получаем значения value для второго input-a. Все работает, кроме полного очищения input. А используя defaultValue разрывается связь между ними. Подскажите пожалуйста как это исправить?

class _Input extends React.Component {
      constructor(props) {
        super(props);
        this.onChangeValue = this.onChangeValue.bind(this);
      }
      onChangeValue(e){
        this.props.onChangeValue(e.target.value);
      }
      render() {
        return(
           <span>
            <p className="input-name">{this.props.name}</p>
            <input
              type="number"
              placeholder={this.props.name}
              //defaultValue={this.props.defaultValue}
              value={this.props.value}
              onChange={this.onChangeValue}
            />
            <input
              type="number"
              placeholder={this.props.name}
              //defaultValue={this.props.defaultValue}
              value={this.props.value}
              onChange={this.onChangeValue}
            />
          </span>
        )
      }
    }
    function mapStateToProps (state) {
      return {
        value: state.startAngle,
      }
    }
    const mapDispatchToProps = (dispatch) => {
      return {
        onChangeValue: (value) => {
          dispatch(changeStartAngle(+value))
        }
      }
    }
const Input = connect(
  mapStateToProps, 
  mapDispatchToProps
)(_Input);
Answer 1
dispatch(changeStartAngle(+value))

В этом месте пустая строка превращается в 0 унарным плюсом.
Надо обрабатывать пустую строку как-то иначе, например

dispatch(changeStartAngle(+value || ''))
READ ALSO
Как создать &lt;use&gt; в &lt;svg&gt; через javascript?

Как создать <use> в <svg> через javascript?

Помогите пожалуйстаНужно добавить елемент <use xlink:href="#myID" x="0" y="100"></use> в <svg> средствами JavaScript

284
Найти дочерний элемент по data-attr (jQuery)

Найти дочерний элемент по data-attr (jQuery)

Всем приветЕсть следующий блок со всеми элементами с css display: none:

337
saveAs работает только 1 раз

saveAs работает только 1 раз

Нужна функция для сохранения данных в файл, решил использовать библиотеку https://cdnrawgit

319
AJAX.Добавление товаров в корзину

AJAX.Добавление товаров в корзину

Есть код страницы с товарами:

335