Я использую bootstrap с response, и компилятор не работает на том основании, что есть незавершенное содержимое JSX. Я проходил через это дюжину раз, и, как бы троичный результат ни получился, я не вижу незакрытых тегов. Я новичок в реакции, поэтому полагаю, что что-то еще не так. Чтобы сократить код, я включил только return ():
<div className = "container-fluid">
<div className = "row">
<div className = "col-12">
<SearchBar />
</div>
</div>
{this.state.results ? (
<div className = "row">
<div className = "col-12">
<div className = "row">
<div className = "col-6 offset-md-3">
<div className = "row">
<div className = "col">
<InputRange
maxValue = {this.state.maxPrice}
minValue = {this.state.minPrice}
value = {this.state.priceRange}
formatLabel = {x => {
return `£${x}`;
}}
onChange = {value => this.setState({ priceRange: value })}
/>
</div>
</div>
<div className = "row">
<div className = "col">
Selection: {visibleResults.length}
</div>
</div>
<div>
</div>
<div className = "row">
<div className = "col-6 offset-md-3">
{visibleResults.map((item, index) => (
<Link to = {`/listing/${item.id}`}>
<SearchResult result = {item} key = {index} />
</Link>
))}
</div>
</div>
</div>
</div>
) : (
<div className = "row">
<div className = "col">
<h1>LOADING...</h1>
</div>
</div>
)}
</div>
)





Здесь вам нужно закрыть div:
<div className = "row">
<div className = "col">
Selection: {visibleResults.length}
</div>
</div>
<div> // This should be </div>
</div>
Отличный улов, спасибо. Быстрый вопрос - у меня установлен eslint с конфигурацией по умолчанию airbnb. Я ожидал, что он поймает это ... Я неправильно настроил или я слишком многого жду?
Я не уверен. Прошло некоторое время с тех пор, как я использовал ESLint сам по себе. Я использую Prettier с ESLint, и мне кажется, что это действительно помогло сократить количество ошибок и улучшить согласованность форматирования: prettier.io/docs/en/eslint.html
В общем, я считаю, что JSX может стать чрезвычайно сложным, если вы используете его как литералы в очень сложных выражениях. Это может помочь прояснить ситуацию, если вы создадите некоторые функции (или другие компоненты!), Которые инкапсулируют более сложную логику, которую вы используете.