call method
ReactElement
call(
- Map props, [
- dynamic c1 = _notSpecified,
- dynamic c2 = _notSpecified,
- dynamic c3 = _notSpecified,
- dynamic c4 = _notSpecified,
- dynamic c5 = _notSpecified,
- dynamic c6 = _notSpecified,
- dynamic c7 = _notSpecified,
- dynamic c8 = _notSpecified,
- dynamic c9 = _notSpecified,
- dynamic c10 = _notSpecified,
- dynamic c11 = _notSpecified,
- dynamic c12 = _notSpecified,
- dynamic c13 = _notSpecified,
- dynamic c14 = _notSpecified,
- dynamic c15 = _notSpecified,
- dynamic c16 = _notSpecified,
- dynamic c17 = _notSpecified,
- dynamic c18 = _notSpecified,
- dynamic c19 = _notSpecified,
- dynamic c20 = _notSpecified,
- dynamic c21 = _notSpecified,
- dynamic c22 = _notSpecified,
- dynamic c23 = _notSpecified,
- dynamic c24 = _notSpecified,
- dynamic c25 = _notSpecified,
- dynamic c26 = _notSpecified,
- dynamic c27 = _notSpecified,
- dynamic c28 = _notSpecified,
- dynamic c29 = _notSpecified,
- dynamic c30 = _notSpecified,
- dynamic c31 = _notSpecified,
- dynamic c32 = _notSpecified,
- dynamic c33 = _notSpecified,
- dynamic c34 = _notSpecified,
- dynamic c35 = _notSpecified,
- dynamic c36 = _notSpecified,
- dynamic c37 = _notSpecified,
- dynamic c38 = _notSpecified,
- dynamic c39 = _notSpecified,
- dynamic c40 = _notSpecified,
Returns a new rendered component instance with the specified props
and children
(c1
, c2
, et. al.).
The additional children arguments (c2, c3, et. al.) are a workaround for github.com/dart-lang/sdk/issues/16030.
Implementation
ReactElement call(Map props,
[c1 = _notSpecified,
c2 = _notSpecified,
c3 = _notSpecified,
c4 = _notSpecified,
c5 = _notSpecified,
c6 = _notSpecified,
c7 = _notSpecified,
c8 = _notSpecified,
c9 = _notSpecified,
c10 = _notSpecified,
c11 = _notSpecified,
c12 = _notSpecified,
c13 = _notSpecified,
c14 = _notSpecified,
c15 = _notSpecified,
c16 = _notSpecified,
c17 = _notSpecified,
c18 = _notSpecified,
c19 = _notSpecified,
c20 = _notSpecified,
c21 = _notSpecified,
c22 = _notSpecified,
c23 = _notSpecified,
c24 = _notSpecified,
c25 = _notSpecified,
c26 = _notSpecified,
c27 = _notSpecified,
c28 = _notSpecified,
c29 = _notSpecified,
c30 = _notSpecified,
c31 = _notSpecified,
c32 = _notSpecified,
c33 = _notSpecified,
c34 = _notSpecified,
c35 = _notSpecified,
c36 = _notSpecified,
c37 = _notSpecified,
c38 = _notSpecified,
c39 = _notSpecified,
c40 = _notSpecified]) {
List childArguments;
// Use `identical` since it compiles down to `===` in dart2js instead of calling equality helper functions,
// and we don't want to allow any object overriding `operator==` to claim it's equal to `_notSpecified`.
if (identical(c1, _notSpecified)) {
// Use a const list so that empty children prop values are always identical
// in the JS props, resulting in JS libraries (e.g., react-redux) and Dart code alike
// not marking props as having changed as a result of rerendering the ReactElement with a new list.
childArguments = const [];
} else if (identical(c2, _notSpecified)) {
childArguments = [c1];
} else if (identical(c3, _notSpecified)) {
childArguments = [c1, c2];
} else if (identical(c4, _notSpecified)) {
childArguments = [c1, c2, c3];
} else if (identical(c5, _notSpecified)) {
childArguments = [c1, c2, c3, c4];
} else if (identical(c6, _notSpecified)) {
childArguments = [c1, c2, c3, c4, c5];
} else if (identical(c7, _notSpecified)) {
childArguments = [c1, c2, c3, c4, c5, c6];
} else {
childArguments = [
c1,
c2,
c3,
c4,
c5,
c6,
c7,
c8,
c9,
c10,
c11,
c12,
c13,
c14,
c15,
c16,
c17,
c18,
c19,
c20,
c21,
c22,
c23,
c24,
c25,
c26,
c27,
c28,
c29,
c30,
c31,
c32,
c33,
c34,
c35,
c36,
c37,
c38,
c39,
c40
].takeWhile((child) => !identical(child, _notSpecified)).toList();
}
return build(props, childArguments);
}