Я пытаюсь написать оператор if внутри цикла, но он выдает ошибку. Я пробовал использовать {}, но он тоже не работает, как мне его правильно написать.
`<Option
optionText = {option}
colorText = {props.colors[index]}
priceText = {props.prices[index]}
rangeText = {props.ranges[index]}
domainText = {props.domains[index]}
if (this.props.colorText == this.props.domainText){
//I want to write a if condition here but it says Identifier expected
}
count= {index + 1}
handleDeleteOption = {props.handleDeleteOption}
/>
</div>
))
}
</div>`
импортировать React из React;
const Option = (реквизиты) => (
<p className = "add-option-color">
props.rangeText = {(props.colorText == props.domainText) ? props.rangeText :
props.domainText}
{props.count}. Product: {props.optionText} , Color: {props.rangeText} , Price: {props.priceText}</p>
<button className = "button button--link" onClick = {(e) => {
props.handleDeleteOption(props.optionText,props.colorText,props.priceText);
}}
>
remove
</button>
<hr></hr>
</div>
);
export default Option;
Этот оператор if не находится внутри цикла. Он находится внутри элемента JSX, и вы не можете писать код внутри элемента JSX, если он не указан в качестве значения свойств.
использовать тернарный оператор





Чистый способ - использовать тернарный оператор, как в этом примере:
<Option
optionText = {option}
colorText = {props.colors[index]}
priceText = {props.prices[index]}
rangeText = {props.ranges[index]}
domainText = {props.domains[index]}
YOURPROPS = {(this.props.colorText == this.props.domainText) ? VALUEIFTRUE :
VALUEIFFALSE}
count= {index + 1}
handleDeleteOption = {props.handleDeleteOption}
/>
Зачем тикать ??
Щелчок был ошибочным, я его удалил.
вы можете вызвать функцию, как показано ниже --->
getAllParams() {
if (this.props.colorText == this.props.domainText){
return "pass what you want pass"
} else {
return
}
}
render() {
<Option
optionText = {option}
colorText = {props.colors[index]}
priceText = {props.prices[index]}
rangeText = {props.ranges[index]}
domainText = {props.domains[index]}
{...this.getParams()}
count= {index + 1}
handleDeleteOption = {props.handleDeleteOption}
/>
}
какую опору вы хотите применить, если условие верно?