вычисление значения приращения в реакции JS - PullRequest
0 голосов
/ 09 ноября 2018

Я хочу передать значение параметра в стиле для расчета моей ширины. мой код

function getValue(value) {
  if (value === 12) {
    return {
      width: '( 20 - value )%',
    };
  }
  return false;
}

но ширина не работает. Я новичок, чтобы реагировать. пожалуйста, помогите.

Ответы [ 3 ]

0 голосов
/ 09 ноября 2018

Попробуйте это

ширина: (20 - значение) + ‘%’

0 голосов
/ 09 ноября 2018

Вам нужно что-то вроде ниже. Вы проверяете постоянное значение, поэтому не нужно выполнять арифметику, просто верните 8. Вы можете упростить функцию, как показано ниже

function getValue(value) {
  // return object for style or undefined for no styling
  return value === 12 ? {'width': '8% !important' } : undefined;
}

Если вы должны были сохранить арифметику, потому что вы хотели просто всегда делать вычисления (например). Тогда лучший способ выписать функцию был бы таким:

function getValue(value) {
  return { 'width': `${20 - value}% !important` };
}
0 голосов
/ 09 ноября 2018

Вы не можете рассчитать, если это строка. Кавычки ('') делают его строкой. Кроме того, % является оператором остатка. Он получает остаток от двух чисел. Это похоже на разделение. Вы можете прочитать больше об операторе остатка на MDN Я не понимаю, что это имеет отношение к реакции, это больше просто ванильный JavaScript.

Я думаю, вы можете

function getValue(value) {
  if (value !== 12) { return false; }
  return {
    width: (20 - value)/100,
  };
}

Вы также можете сделать следующее, так как он возвращает только если значение, если 12

var getValue = value => value === 12 ? { width: 0.08 } : false

В этом решении используются функции со стрелками, автоматический возврат и троичные операторы. О них вы можете прочитать на mdn

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...