Skip to content
This repository was archived by the owner on Jun 26, 2020. It is now read-only.

Commit 6284929

Browse files
authored
Support new pure HOC component (#1173)
1 parent 69d137c commit 6284929

1 file changed

Lines changed: 15 additions & 0 deletions

File tree

backend/attachRendererFiber.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,8 @@ function getInternalReactConstants(version) {
8282
FORWARD_REF_SYMBOL_STRING: 'Symbol(react.forward_ref)',
8383
PROFILER_NUMBER: 0xead2,
8484
PROFILER_SYMBOL_STRING: 'Symbol(react.profiler)',
85+
PURE_NUMBER: 0xead3,
86+
PURE_SYMBOL_STRING: 'Symbol(react.pure)',
8587
STRICT_MODE_NUMBER: 0xeacc,
8688
STRICT_MODE_SYMBOL_STRING: 'Symbol(react.strict_mode)',
8789
PLACEHOLDER_NUMBER: 0xead1,
@@ -127,6 +129,8 @@ function attachRendererFiber(hook: Hook, rid: string, renderer: ReactRenderer):
127129
CONTEXT_PROVIDER_SYMBOL_STRING,
128130
PROFILER_NUMBER,
129131
PROFILER_SYMBOL_STRING,
132+
PURE_NUMBER,
133+
PURE_SYMBOL_STRING,
130134
STRICT_MODE_NUMBER,
131135
STRICT_MODE_SYMBOL_STRING,
132136
PLACEHOLDER_NUMBER,
@@ -258,6 +262,17 @@ function attachRendererFiber(hook: Hook, rid: string, renderer: ReactRenderer):
258262
: symbolOrNumber;
259263

260264
switch (switchValue) {
265+
case PURE_NUMBER:
266+
case PURE_SYMBOL_STRING:
267+
nodeType = 'Special';
268+
if (type.displayName) {
269+
name = type.displayName;
270+
} else {
271+
const displayName = type.render.displayName || type.render.name;
272+
name = displayName ? `Pure(${displayName})` : 'Pure';
273+
}
274+
children = [];
275+
break;
261276
case CONCURRENT_MODE_NUMBER:
262277
case CONCURRENT_MODE_SYMBOL_STRING:
263278
case DEPRECATED_ASYNC_MODE_SYMBOL_STRING:

0 commit comments

Comments
 (0)