1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 | 'use strict';
|
10 |
|
11 | var ReactComponentTreeHook = require('react/lib/ReactComponentTreeHook');
|
12 |
|
13 | var warning = require('fbjs/lib/warning');
|
14 |
|
15 | var didWarnValueNull = false;
|
16 |
|
17 | function handleElement(debugID, element) {
|
18 | if (element == null) {
|
19 | return;
|
20 | }
|
21 | if (element.type !== 'input' && element.type !== 'textarea' && element.type !== 'select') {
|
22 | return;
|
23 | }
|
24 | if (element.props != null && element.props.value === null && !didWarnValueNull) {
|
25 | process.env.NODE_ENV !== 'production' ? warning(false, '`value` prop on `%s` should not be null. ' + 'Consider using the empty string to clear the component or `undefined` ' + 'for uncontrolled components.%s', element.type, ReactComponentTreeHook.getStackAddendumByID(debugID)) : void 0;
|
26 |
|
27 | didWarnValueNull = true;
|
28 | }
|
29 | }
|
30 |
|
31 | var ReactDOMNullInputValuePropHook = {
|
32 | onBeforeMountComponent: function (debugID, element) {
|
33 | handleElement(debugID, element);
|
34 | },
|
35 | onBeforeUpdateComponent: function (debugID, element) {
|
36 | handleElement(debugID, element);
|
37 | }
|
38 | };
|
39 |
|
40 | module.exports = ReactDOMNullInputValuePropHook; |
\ | No newline at end of file |