Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
CoCo_Code_Op2
next.js
提交
57d91f7d
N
next.js
项目概览
CoCo_Code_Op2
/
next.js
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
N
next.js
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
57d91f7d
编写于
8月 13, 2019
作者:
J
JJ Kasper
提交者:
Joe Haddad
8月 13, 2019
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix AppTree type not allowing extra props (#8352)
上级
d9abbade
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
43 addition
and
7 deletion
+43
-7
packages/next-server/lib/utils.ts
packages/next-server/lib/utils.ts
+2
-2
test/integration/app-tree/pages/_app.tsx
test/integration/app-tree/pages/_app.tsx
+12
-5
test/integration/app-tree/tsconfig.json
test/integration/app-tree/tsconfig.json
+29
-0
未找到文件。
packages/next-server/lib/utils.ts
浏览文件 @
57d91f7d
...
...
@@ -99,12 +99,12 @@ export interface NextPageContext {
/**
* `Component` the tree of the App to use if needing to render separately
*/
AppTree
:
NextComponent
Type
AppTree
:
App
Type
}
export
type
AppContextType
<
R
extends
NextRouter
=
NextRouter
>
=
{
Component
:
NextComponentType
<
NextPageContext
>
AppTree
:
NextComponent
Type
AppTree
:
App
Type
ctx
:
NextPageContext
router
:
R
}
...
...
test/integration/app-tree/pages/_app.
js
→
test/integration/app-tree/pages/_app.
tsx
浏览文件 @
57d91f7d
import
React
from
'
react
'
import
Link
from
'
next/link
'
import
{
render
}
from
'
react-dom
'
import
App
,
{
Container
}
from
'
next/app
'
import
App
,
{
Container
,
AppContext
}
from
'
next/app
'
import
{
renderToString
}
from
'
react-dom/server
'
class
MyApp
extends
App
{
static
async
getInitialProps
({
Component
,
AppTree
,
router
,
ctx
})
{
class
MyApp
<
P
=
{}
>
extends
App
<
P
&
{
html
:
string
}
>
{
static
async
getInitialProps
({
Component
,
AppTree
,
router
,
ctx
,
}:
AppContext
)
{
let
pageProps
=
{}
if
(
Component
.
getInitialProps
)
{
...
...
@@ -17,7 +22,9 @@ class MyApp extends App {
<
AppTree
{
...{
router
,
Component
Component
,
pageProps
,
another
:
'
hello
'
,
}
}
/>
)
...
...
@@ -35,7 +42,7 @@ class MyApp extends App {
return
{
pageProps
,
html
}
}
render
()
{
render
()
{
const
{
Component
,
pageProps
,
html
,
router
}
=
this
.
props
const
href
=
router
.
pathname
===
'
/
'
?
'
/another
'
:
'
/
'
...
...
test/integration/app-tree/tsconfig.json
0 → 100644
浏览文件 @
57d91f7d
{
"compilerOptions"
:
{
"target"
:
"es5"
,
"lib"
:
[
"dom"
,
"dom.iterable"
,
"esnext"
],
"allowJs"
:
true
,
"skipLibCheck"
:
true
,
"strict"
:
false
,
"forceConsistentCasingInFileNames"
:
true
,
"noEmit"
:
true
,
"esModuleInterop"
:
true
,
"module"
:
"esnext"
,
"moduleResolution"
:
"node"
,
"resolveJsonModule"
:
true
,
"isolatedModules"
:
true
,
"jsx"
:
"preserve"
},
"exclude"
:
[
"node_modules"
],
"include"
:
[
"next-env.d.ts"
,
"**/*.ts"
,
"**/*.tsx"
]
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录