Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
R
react-keep-alive
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
react-keep-alive
Commits
8c6cae22
Unverified
Commit
8c6cae22
authored
Mar 05, 2019
by
Shen Chang
Committed by
GitHub
Mar 05, 2019
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix(keepAlive): Fixing multiple higher-order functions to get no real components
parent
435d90d4
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
14 additions
and
5 deletions
+14
-5
src/utils/keepAlive.tsx
src/utils/keepAlive.tsx
+14
-5
No files found.
src/utils/keepAlive.tsx
View file @
8c6cae22
...
@@ -55,6 +55,14 @@ export default function keepAliveDecorator({
...
@@ -55,6 +55,14 @@ export default function keepAliveDecorator({
forwardRef
=
false
,
forwardRef
=
false
,
}:
IOptions
=
{})
{
}:
IOptions
=
{})
{
return
(
Component
:
React
.
ComponentType
<
IComponentProps
>
)
=>
{
return
(
Component
:
React
.
ComponentType
<
IComponentProps
>
)
=>
{
const
{
WrappedComponent
,
wrappedComponent
,
}
=
Component
;
if
(
WrappedComponent
||
wrappedComponent
)
{
Component
=
WrappedComponent
||
wrappedComponent
;
}
const
{
const
{
componentDidMount
=
noop
,
componentDidMount
=
noop
,
componentDidUpdate
=
noop
,
componentDidUpdate
=
noop
,
...
@@ -334,8 +342,6 @@ export default function keepAliveDecorator({
...
@@ -334,8 +342,6 @@ export default function keepAliveDecorator({
}
}
class
ListenUpperKeepAliveContainer
extends
React
.
Component
<
IListenUpperKeepAliveContainerProps
,
IListenUpperKeepAliveContainerState
>
{
class
ListenUpperKeepAliveContainer
extends
React
.
Component
<
IListenUpperKeepAliveContainerProps
,
IListenUpperKeepAliveContainerState
>
{
public
static
displayName
=
`
${
keepAliveDisplayName
}
(
${
displayName
}
)`
;
private
combinedKeepAlive
:
boolean
;
private
combinedKeepAlive
:
boolean
;
public
state
=
{
public
state
=
{
...
@@ -459,15 +465,18 @@ export default function keepAliveDecorator({
...
@@ -459,15 +465,18 @@ export default function keepAliveDecorator({
withIdentificationContextConsumer
(
ListenUpperKeepAliveContainer
)
withIdentificationContextConsumer
(
ListenUpperKeepAliveContainer
)
);
);
let
NewComponent
:
React
.
ComponentType
<
IKeepAliveDecorativeComponentProps
>
=
ListenUpperKeepAliveContainerHOC
;
let
KeepAlive
:
React
.
ComponentType
<
IKeepAliveDecorativeComponentProps
>
=
ListenUpperKeepAliveContainerHOC
;
if
(
forwardRef
)
{
if
(
forwardRef
)
{
NewComponent
=
React
.
forwardRef
((
props
,
ref
)
=>
(
KeepAlive
=
React
.
forwardRef
((
props
,
ref
)
=>
(
<
ListenUpperKeepAliveContainerHOC
<
ListenUpperKeepAliveContainerHOC
{
...
props
}
{
...
props
}
forwardedRef=
{
ref
}
forwardedRef=
{
ref
}
/>
/>
));
));
}
}
return
hoistNonReactStatics
(
NewComponent
,
Component
);
KeepAlive
.
WrappedComponent
=
Component
;
KeepAlive
.
displayName
=
`
${
keepAliveDisplayName
}
(
${
displayName
}
)`
;
return
hoistNonReactStatics
(
KeepAlive
,
Component
);
};
};
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment