有谁知道react-bootstrap
可以和Next.js一起使用吗?我正在使用这两个的最新版本,我可以在这一点上提供代码,但现在我的应用程序没有抛出任何错误,它只是没有注册任何我的react-bootstrap
组件。也许有一些技巧,我没有能够在互联网上找到?我可以提供代码或文件结构,如果这有帮助。先谢谢你了!
next.config.js
const withCSS = require('@zeit/next-css')
module.exports = withCSS({
/* my next config */
})
pages/index.js
import Badge from 'react-bootstrap/Badge';
import "../public/css/bootstrap.css";
const Index = () => (
<div>
<p className='display-4'>Hello</p>
<Badge>Heading</Badge>
</div>
)
export default Index;
package.json
{
"name": "vacation-app",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"dev": "next",
"build": "next build",
"start": "next start"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"@zeit/next-css": "^1.0.1",
"next": "^9.1.1",
"react": "^16.10.2",
"react-bootstrap": "^1.0.0-beta.14",
"react-dom": "^16.10.2"
}
}
6条答案
按热度按时间utugiqy61#
是的,可以在nextjs应用程序中使用react-bootstrap。
你可能会遇到的一个问题是,如果用户浏览器中的javascript被禁用,而你使用react-bootstrap组件来构建你的布局(见下面的例子),那么你的应用程序的渲染就会出现问题。
Nextjs允许你显示SSG/SSR页面,没有javascript的用户可以看到你的应用程序,但布局可能会很混乱。
如果你还想继续:
在your _app.js中导入bootstrap样式:
然后你可以像在reactjs中一样使用react-bootstrap组件:
af7jpaap2#
是的,我在用!
您可以按照egdavid's answer配置
react-bootstrap
。我发现的唯一问题是链接在SPA方面无法正常工作。
为此,我找到了下面的解决方案。你必须 Package
NavBar.Link
在Link
和使用passHref
属性,如果你想在链接上可见的超链接。6xfqseft3#
是的,你可以使用它。我认为最重要的问题是,服务器端渲染支持结合下一个js和react-bootstrap?是的,在react-bootstrap文档中,你可以看到如何实现这个选项。
https://react-bootstrap.github.io/getting-started/server-side-rendering/
你可以这样做
wgmfuz8q4#
是的,你可以在next.js中使用bootstrap和react-bootstrap。
我在我的应用程序中使用它,
这里是一个简单的例子,使用导航栏和模态组件只是为了测试。
1-首先使用以下命令安装“react-bootstrap bootstrap”:
2-在“_app.js”文件中,在文件顶部导入bootstrap css文件,并在useEffect中导入bootstrap js文件,如下所示:
3-这里是用于测试的my Nav组件(与bootstrap 5兼容)...:
4-现在创建任何页面(例如index.js)并测试它。
如何测试:
1-如果你看到引导样式显示在导航栏上(颜色,按钮样式),这意味着'引导css工作正常'.
2-如果下拉菜单是可点击和工作,这意味着 Bootstrap 的js文件是工作正常.
3-如果测试模式工作并且您看到确认框,这意味着react-bootstrap组件工作正常。
这只是一个例子,并根据您的情况/需求进行更改。
希望这对你有帮助。
bweufnob5#
是的,你可以使用它,通过在
pages/index.js
中的<head>
标签内提供CDN链接。希望能成功!!!
oipij1gg6#
我想我们可以在这里添加更新。
在NextJS应用程序中使用react-bootstrap总是可以的,即使是最后一次NextJs 13.4.x更新,其中添加了新的应用程序目录。
但是现在,为了保持应用程序运行,您在应用程序中使用的每个组件,如果您决定移动到此最新更新,并使用应用程序目录,如果您正在导入和使用react-bootstrap组件,则必须在组件顶部使用“use client”指令
React组分示例:
正常情况下,这段代码没有问题。但是如果你是用新的应用目录导入这个组件,你需要在文件的顶部添加“使用客户端”,或者,你可以在包含这个组件的文件的顶部添加它。但是如果您这样做,组件将不会由Next服务器呈现,而是由浏览器呈现。