如果您需要完整的示例,代码位于DartPadwhile
上(请参阅最后的循环。)
我有一个循环,
Place place = places[0];
while (places.isNotEmpty) {
// Get a list of places within distance (we can travel to)
List reachables = place.getReachables();
// Get the closest reachable place
Place closest = place.getClosest(reachables);
// Remove the current place (ultimately should terminate the loop)
places.remove(place);
// Iterate
place = closest;
}
Run Code Online (Sandbox Code Playgroud)
但它并没有删除place
倒数第二行。即places
列表的长度保持不变,使其成为无限循环。怎么了?
借助最新的 Next.js,我可以pages/_app.js
使用类似 和 之类的指令全局导入 Sass 样式import '../styles/global.scss';
,而无需依赖于@zeit/next-sass
.
这在组件级别有效吗?例如,我可以有一个components/*
目录来保存我的组件,并且每个组件都有一个*.tsx
导入*.module.scss
文件的文件吗?
现在这对我不起作用。我没有收到错误,但组件级样式不会加载,而全局样式会加载。
编辑:要明确的是,我不想导入像import styles from ...scss
. 我只是想为此组件导入 Sass,而不是任何具有属性的对象。
这是一个代码示例,我可以看到样式globals.scss
,但当Main.module.scss
我使用 运行它时看不到样式npx run dev
。
我从头开始跑npx create-next-app _
然后npm install sass
。Main
当我制作一个想要设计样式的简单组件时,只有五个重要文件:
components/Main/Main.tsx
:import './Main.module.scss';
export default function Main() {
return <div className="Main">Main</div>;
};
Run Code Online (Sandbox Code Playgroud)
components/Main/Main.module.scss
:由于某种原因,这条规则不适用!
.Main {
color: blue;
}
Run Code Online (Sandbox Code Playgroud)
pages/_app.js
:这些全局样式确实得到了应用!
import '../styles/globals.scss';
export default …
Run Code Online (Sandbox Code Playgroud) 我试图从列表中选择这样的独特元素:
x = [1,1,2,3,4]
s = [e | e <- x, not (e `elem` s)]
Run Code Online (Sandbox Code Playgroud)
它不会产生错误,但是当我尝试从中读取时,s
程序似乎挂起了.为什么?
另外,这样做的正确方法是什么?