我之前使用过 Vue.js 之后才开始接触 React.js 和 Next.js。我遇到了一个奇怪的打字稿错误,但奇怪的是,尽管 VS Code 向我抱怨它无法编译,但它实际上还是编译了。
我正在尝试将数组Article作为道具传递到我的家庭组件中。
这里是相关代码:
interface Article {
userId: number;
id: number;
title: string;
body: string;
}
interface Props {
articles: Article | Article[];
}
const Home: NextPage = ({ articles }: Props) => {
return (
<div>
{/* some stuff */}
</div>
);
};
Run Code Online (Sandbox Code Playgroud)
Home带有红色下划线,当我将鼠标悬停在上面时出现错误:
const Home: NextPage<{}, {}>
Type '({ articles }: Props) => JSX.Element' is not assignable to type 'NextPage<{}, {}>'.
Type '({ articles }: Props) => JSX.Element' …Run Code Online (Sandbox Code Playgroud) 我是使用 Nuxt.js 的新手,并且遇到一个问题:当我创建项目时,布局文件夹没有按照文档自动生成。我手动添加了它,但 default.vue 没有在任何地方应用。这是layouts/default.vue:
<template>
<div>
<AppHeader/>
<Nuxt/>
</div>
</template>
Run Code Online (Sandbox Code Playgroud)
我尝试过手动设置default页面布局和手动导入AppHeader组件default.vue(尽管这绝对不是问题,因为我放在那里的其他 HTML 也不会被渲染)。不知道这里出了什么问题,挠头。使用nuxt 2.15.7。如果需要任何其他详细信息,请告诉我,我很乐意提供,谢谢。
我遇到了生命周期问题,我不确定如何解决,因为我所做的改变对于生命周期来说似乎是微不足道的。
鉴于:
use anyhow::Context;
use nom::{IResult, bytes::complete::tag};
Run Code Online (Sandbox Code Playgroud)
以下代码编译:
let input = std::str::from_utf8(&output.stdout).unwrap();
let mut lines = input.lines();
let branch_line = lines.next().context("no output from `git status`")?;
let branch: IResult<&str, &str> = tag("On branch ")(branch_line);
let (branch, _) = branch.expect("failed to get name of current branch");
Run Code Online (Sandbox Code Playgroud)
expect将最后一行中的更改为 后context,代码不再编译:
let input = std::str::from_utf8(&output.stdout).unwrap();
let mut lines = input.lines();
let branch_line = lines.next().context("no output from `git status`")?;
let branch: IResult<&str, &str> = tag("On branch ")(branch_line);
let (branch, _) = branch.context("failed to …Run Code Online (Sandbox Code Playgroud) javascript ×1
lifetime ×1
next.js ×1
nuxt.js ×1
reactjs ×1
rust ×1
tsx ×1
typescript ×1
vue.js ×1