4мес



Программирование
+2Скобки горят красным vs code

React, вроде все закрыто, но все равно выдает ошибку синтаксиса из-за красных скобок, если ставлю скобки подряд все норм, а когда вставляю между ними код вот такая штука
По дате
По рейтингу
И правильно горят.
В JavaScript ТРИ вида кавычек, обрамляющих строки. И подстановка выражений работает только в строках, обрамлённых обратными слешами: `...`.
Ошибка в className, а именно в логике присваивания классов.
123456789101112131415161718
function Button({ type, title, disable, onClick }) {
return (
<button
className={`btn ${
type === "add" ? "add" :
type === "remove" ? "remove" :
type === "checkout" ? "checkout" : ""
}`}
disabled={disable}
onClick={onClick}
>
{title}
</button>
);
}
export default Button;
Так проще
Рекомендую использовать библиотеку classnames, чтобы более читаемый стиль сделать, который удобно вынести в переменную
12345678
const buttonClass = classNames('btn', {
['add']: type === 'add',
['remove']: type === 'remove'
})
return (
<button className={buttonClass}>{title}</button>
)
А если тип всегда влияет на класс, то просто тип и подставлять
1
function Button({ type = '', title, disable, onClick })
1
<button className={`btn ${type}`}></button>