В настоящее время я строил мини-поисковую машину, изучая JavaScript и основы React. Я построил функциональный движок, используя prompt(), а затем цикл for, чтобы найти совпадения, а затем возвращать разные результаты на основе атрибутов определенных состояний.Браузер не распознает JSX, используя React
index.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Venos</title>
<script src="https://unpkg.com/[email protected]/dist/react.js"></script>
<script src="https://unpkg.com/[email protected]/dist/react-dom.js"></script>
<script src="index.js"></script>
</head>
<body>
<div id="app">
<div id="react-app">
</div>
</div>
</body>
</html>
index.js:
var searchInput = prompt('Search: ');
var states = {
'North Dakota': {capital: {name: 'Bismarck', namedAfter: 'Ferdinand Bismarck'}, region: 'Mid-west'},
Minnesota: {capital: 'Saint paul', region: 'Mid-west'},
Montana: {capital: 'Helena', region: 'Mid-west'},
Wisconsin: {capital: 'Madison', region: 'Mid-west'}
};
var searchCapitals = function(givenWord){
for (var key in states) {
if (givenWord.toLowerCase() === key.toLowerCase()) {
var found = true
var foundKey = key
break;
}
}
if (found == true){
if (states[foundKey].capital.name){
var foundSearchComplex = (
<div>
// html built from {'Search found: ' + foundKey + ' (capital: ' + states[foundKey].capital.name + ' (named after ' + states[foundKey].capital.namedAfter + '), region: ' + states[foundKey].region + ')'}
<h4>Search Found</h4>
<ul>
<li>Capital: {states[foundKey].capital.name}</li>
<li>Capital named after: {states[foundKey].capital.namedAfter}</li>
<li>Region: {states[foundKey].region}</li>
</ul>
</div>
)
ReactDOM.render(foundSearchComplex, document.getElementById('react-app'));
} else
var foundSearchSimple = (
// html built from {'Search found: ' + foundKey + ' (capital: ' + states[foundKey].capital.name + , region: ' + states[foundKey].region + ')'}
<div>
<h4>Search Found</h4>
<ul>
<li>Capital: {states[foundKey].capital.name}</li>
<li>Region: {states[foundKey].region}</li>
</ul>
</div>
};
ReactDOM.render(foundSearchSimple, document.getElementById('react-app'));
} else {
console.log('No results found.')
}
)
searchCapitals(searchInput);
Ошибки найдено:
index.js:21 Uncaught SyntaxError: Unexpected token <
Я понимаю, что я четко писать что-то неправильно. Я просто не понимаю, что :(
Могу ли я спросить, почему вы используете '{}', когда вы объявляете foundSearchComplex и нашлиSearchSimple? Поскольку вы пытаетесь сделать их, вы должны использовать '()' вместо этого, когда объявляете их –
Я исправил. Ошибка по-прежнему сохраняется. –
Вам нужен транспилер для перевода кода – Li357