1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 | 'use strict';
|
12 |
|
13 | var ReactComponentTreeHook = require('react/lib/ReactComponentTreeHook');
|
14 |
|
15 | var warning = require('fbjs/lib/warning');
|
16 |
|
17 | var didWarnValueNull = false;
|
18 |
|
19 | function handleElement(debugID, element) {
|
20 | if (element == null) {
|
21 | return;
|
22 | }
|
23 | if (element.type !== 'input' && element.type !== 'textarea' && element.type !== 'select') {
|
24 | return;
|
25 | }
|
26 | if (element.props != null && element.props.value === null && !didWarnValueNull) {
|
27 | 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;
|
28 |
|
29 | didWarnValueNull = true;
|
30 | }
|
31 | }
|
32 |
|
33 | var ReactDOMNullInputValuePropHook = {
|
34 | onBeforeMountComponent: function (debugID, element) {
|
35 | handleElement(debugID, element);
|
36 | },
|
37 | onBeforeUpdateComponent: function (debugID, element) {
|
38 | handleElement(debugID, element);
|
39 | }
|
40 | };
|
41 |
|
42 | module.exports = ReactDOMNullInputValuePropHook; |
\ | No newline at end of file |