云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

CDN_数据库组件_超低折扣

小七 141 0

下一个下一个.js实用介绍:造型和主题学习如何在使用时处理样式和主题下一个.js生成服务器端呈现的React应用程序。

在本系列教程中,将向您介绍如何下一个.js可以帮助您构建web应用程序。由Vercel创建,这是一家云计算公司,用于托管前端和无服务器功能,下一个.js是一个React框架,能够创建在客户端和服务器上运行的应用程序,也称为通用JavaScript应用程序。此框架通过简化客户端路由和页面布局等基本功能,同时简化服务器端呈现和代码拆分等高级功能,帮助您更快地构建通用应用程序。在本系列的第一部分中,您学习了如何创建页面和布局。在第二节中,您将学习如何将样式应用于页面并使用下一个.js9,编写时的最新框架版本。建议您熟悉React库。建立项目如果您从这一部分开始,您可以通过克隆repo并检查第1部分分支来获取上一部分中构建的应用程序:git克隆git@github.com:auth0博客/whatabyte next-简介.gitwhatabyte公司cd whatabyte公司git结帐第1部分如果您没有使用SSH连接到GitHub,请使用HTTPS URL克隆repo:git克隆https://github.com/auth0-blog/whatabyte-next-intro.gitwhatabyte公司cd whatabyte公司git结帐第1部分存储库被克隆到本地计算机上名为whatabyte的目录中。如果目录不存在,则创建它。签出分支后,继续安装项目依赖项:npm安装最后,在终端中执行以下命令以运行应用程序:npm运行开发要查看应用程序的运行情况并开始遵循教程,请访问:3000。设置组件样式下一个.js方式在本系列文章的第一部分中创建的应用程序使用React组件的style属性通过JavaScript对象指定组件样式。这很方便,但它不允许您为应用程序创建全局CSS规则。你可以做的是遵循cssinjs组件样式化策略下一个.js本机实现。下一个.js预加载了一个名为styled jsx的CSS-in-JS框架。这个框架为在客户端和/或服务器端呈现的JSX提供了完整的、有范围的、组件友好的CSS支持。这使您可以在JSX组件模板中编写作用域CSS规则。为组件定义的样式只影响该组件,而不影响其他组件,甚至不影响其子组件!要在实践中看到这一点,首先将头组件从使用样式对象转换为使用样式化的jsx。打开的组件/页眉.js并按如下方式更新组件模板://组件/页眉.js常量标题=()=>(

页眉

);导出默认表头;要使用样式化的jsx,需要添加stylejsx标记作为要修改的jsx模板元素的同级或子级。Header的模板只有一个元素,因此,添加样式jsx标记作为同级最有意义。另一种方法是,可以渲染组件数组或使用React片段。CSS规则写在一个模板字符串中,该字符串放置在stylejsx标记中。编写规则的方式与在常规CSS文件中编写规则的方式相同,只要保持一致,并以分号结尾。例如,使用模板字符串编写CSS规则的缺点是,您将失去IDE和代码编辑器的帮助来编写它们。关于React开发人员是否应该在JS中使用CSS,这是一个坦率的争论。文章"JS中CSS有什么问题?"Brad Frost和Matija Marohnić的"桥接CSS和JavaScript之间的差距:JS中的CSS"可以帮助您形成自己对该主题的看法。创造了下一个.js建议在JS中使用CSS,以避免传统的基于CSS文件的样式设计带来的实际问题,尤其是与React的服务器端呈现相关的问题。作为练习,将导航栏和布局组件转换为使用样式jsx。完成后,回来比较结果://组件/导航栏.js常量导航栏=()=>(

导航栏

);导出默认导航栏;//组件/布局.js从"next/Head"导入Head;从"./Header"导入头;从"./NavBar"导入NavBar;const Layout=道具=>(

{儿童道具}

);导出默认布局;你好吗?注意,您可以在样式jsx模板字符串中使用为每个模板标记指定的类。这使得为更复杂的组件设计样式变得更容易、更自然。忘记将逗号改为分号会破坏整个样式。但是,在layout组件中定义的灵活布局有一个问题:.Content容器不能伸展以填充Header和NavBar组件留下的空间。为了使.Content容器强制其flex:1样式属性,它需要有一个用于调整大小的参考框架,该参考框架来自于包含它的元素,在本例中是.Layout容器。.Layout容器的高度指定为100%;但是,此容器没有填充视口的全高。反过来,这只可能意味着它的封闭容器的高度不是100%。使用浏览器开发工具检查索引页的结构会发现,应用程序的顶层容器是一个ID为\uuNext的div元素。该元素没有高度或宽度;因此,其子元素没有高度值可继承,也没有用于动态调整大小的引用。要解决此问题,您需要为##uNext容器指定100%的高度和宽度,但有一个警告:pages子目录中的任何内容都代表前端应用程序的一个网页。下一个.js希望你认为这些网页是完整的和自给自足的。这意味着每个页面都知道如何独立于任何其他页面正确地呈现其内容。解决这个布局问题的方法是告诉应用程序中的每个页面如何呈现html、body和#2; next元素。最好的方法是在布局组件模板的现有样式jsx标记中定义全局样式。打开并更新布局.js下面的代码定义了索引.css标准create react app应用程序的文件://组件/布局.js从"next/Head"导入Head;从"./Header"导入头;从"./NavBar"导入NavBar;const Layout=道具=>(