JS: support React shouldComponentUpdate

This commit is contained in:
Esben Sparre Andreasen
2018-12-04 10:21:26 +01:00
parent 417dac7ad6
commit 67b1487384
2 changed files with 7 additions and 0 deletions

View File

@@ -182,6 +182,9 @@ abstract class ReactComponent extends ASTNode {
)
or
result.flowsToExpr(getStaticMethod("getDerivedStateFromProps").getAReturnedExpr())
or
// shouldComponentUpdate: (nextProps, nextState)
result = DataFlow::parameterNode(getInstanceMethod("shouldComponentUpdate").getParameter(1))
}
/**
@@ -216,6 +219,9 @@ abstract class ReactComponent extends ASTNode {
result.flowsTo(getComponentCreatorSource().getAnInvocation().getArgument(0))
or
result = getADefaultPropsSource()
or
// shouldComponentUpdate: (nextProps, nextState)
result = DataFlow::parameterNode(getInstanceMethod("shouldComponentUpdate").getParameter(0))
}
/**

View File

@@ -1,5 +1,6 @@
| es6.js:14:1:20:1 | class H ... }\\n} | es6.js:18:22:18:31 | { baz: 42} |
| rare-lifecycle-methods.js:1:1:11:1 | class C ... }\\n} | rare-lifecycle-methods.js:3:16:3:17 | {} |
| rare-lifecycle-methods.js:1:1:11:1 | class C ... }\\n} | rare-lifecycle-methods.js:5:38:5:46 | nextState |
| statePropertyReads.js:1:1:13:1 | class R ... }\\n} | statePropertyReads.js:7:45:7:56 | prevState.p3 |
| statePropertyWrites.js:1:1:34:1 | class W ... };\\n} | statePropertyWrites.js:8:18:8:19 | {} |
| statePropertyWrites.js:1:1:34:1 | class W ... };\\n} | statePropertyWrites.js:12:18:12:19 | {} |