reactjs - 将引导程序添加到 ReactJS
问题描述
我是 React 的新手,正在尝试将 Bootstrap 添加到我的项目中。我按照以下教程创建了我的第一个应用程序。
然后我尝试通过 npm install 从官方站点添加 Bootstrap 并将代码的导入行添加到 app.tsx 文件中:
var React = require('react');
var ReactDOM = require('react-dom');
import { Button } from 'react-bootstrap';
我还在我的包中添加了“react-bootstrap”:“^0.32.4”。但是,当我尝试向我的 app.tsx 文件添加按钮时,出现错误,即
<div> <Button bsStyle="primary">Primary</Button> </div>
错误:构建:JSX 表达式必须有一个父元素。TS17004 (TS) 除非提供了“--jsx”标志,否则无法使用 JSX。构建:逗号运算符的左侧未使用且没有副作用。
我不确定为什么会发生这种情况。
解决方案
JSX 表达式必须有一个父元素。TS17004 (TS)。
当您在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'));
或者,从 React 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'));
而且,我还想提一提:你不需要使用 node 的 require 语法,你可以使用import
ES6。
推荐阅读
- isabelle - Subst refl 关闭重复的子目标。这是怎么回事?
- python - tf.cast 在尝试将 int 转换为 float 时返回零
- javascript - 在过滤器操作中使用 async/await 在第一次等待调用后不等待完成
- javascript - 提交表单后重定向到新页面
- algorithm - 最佳和最坏情况时间复杂度,并以渐近符号表示以下函数
- php - Codeigniter 网站 PHP 代码主题无法注册和登录
- python - 如何从 Trustpilot 获取业务部门 ID
- angular - 角度如何检测 ng-content 中有多少组件?
- javascript - 这里显示的是主体,而不是主体。无法弄清楚这有什么问题
- go - 是否可以在不丢失行号前缀的情况下包装 logrus.Logger 函数?