Я хочу передать значение параметра в стиле для расчета моей ширины. мой код
function getValue(value) {
if (value === 12) {
return {
width: '( 20 - value )%',
};
}
return false;
}
но ширина не работает. Я новичок в реакции. пожалуйста помоги.
да @JermahlWhite
Итак, если значение равно 12, что вы хотите, чтобы функция вернула? потому что в противном случае он вернет false
Если он возвращается только тогда, когда он 12, вы можете просто вернуть {width: 0.08} всякий раз, когда оно 12, вместо (20 - значение) / 100.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы не можете вычислить, является ли это строкой. Кавычки ('') превращают его в строку. Кроме того, % является оператором остатка. Получает остаток от двух чисел. Это похоже на деление. Вы можете узнать больше об операторе остатка на 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!
Я чувствую себя оскорбленным. Отредактировано без моего ведома
Ха-ха! Я помог, не так ли? :)
@JohnRuddell Как ты помог ??? Мне нужно знать, как вы помогаете, чтобы я мог выразить благодарность
Вы видели то, что я редактировал, и комментарий, который я оставил? Для просмотра моего редактирования вам нужно щелкнуть ссылку edited 1 hour ago
Попробуй это
ширина: (20 - значение) + ‘%’
Вам нужно что-то вроде ниже. Вы проверяете постоянное значение, поэтому нет необходимости выполнять арифметические операции, просто верните 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` };
}
Зачем вообще использовать вторую строку? Вы можете просто проверить, 12, а если да, вернуть 0,08? поскольку (20-12)% всегда 8%
Согласен с тобой :)
Бесплатное голосование, потому что вы согласны со мной, а также из-за качества. Определенно в основном из-за качества;)
Бесплатные голоса и правки от меня :) хороший способ "подумать дважды";) о попытке!
Я написал ваш код ... но когда я использую width: '7%', он показывает разную ширину, а когда я пишу width: $ {20 - value}% ', он показывает разную ширину ... Я не знаю, в чем разница между этими двумя кодами. а здесь значение 13 @JohnRuddell
Я запутался? Вы просто хотите получить (20 - ценность)%?