Выражение JSX должно иметь один родительский элемент.TS17004 (TS).
Вышеуказанная ошибка возникает при наличии нескольких элементов JSX внутри return()
.Чтобы избавиться от этого, вы можете обернуть все элементы внутри тега <div>
.
var React = require('react');
var ReactDOM = require('react-dom');
import { Button } from 'react-bootstrap';
class Hello extends React.Component {
render() {
return (
<div>
<Button bsStyle="primary">Primary</Button>
<h1>Welcome to React!!</h1>
</div>
);
}
}
ReactDOM.render(<Hello />, document.getElementById('root'));
В качестве альтернативы, из Реакта 16 есть нечто, называемое <React.Fragments>
.Это лучший подход, так как вам не нужно добавлять дополнительный dom-узел.
var React = require('react');
var ReactDOM = require('react-dom');
import { Button } from 'react-bootstrap';
class Hello extends React.Component {
render() {
return (
<React.Fragment>
<Button bsStyle="primary">Primary</Button>
<h1>Welcome to React!!</h1>
</React.Fragment>
);
}
}
ReactDOM.render(<Hello />, document.getElementById('root'));
И еще один момент, который я хотел бы упомянуть: вам не нужно использовать синтаксис require узла, выиспользуйте import
ES6.