diff --git a/packages/react-dom/src/__tests__/ReactDOMFizzServer-test.js b/packages/react-dom/src/__tests__/ReactDOMFizzServer-test.js
index 3ced96af29564..568a931c7d9e3 100644
--- a/packages/react-dom/src/__tests__/ReactDOMFizzServer-test.js
+++ b/packages/react-dom/src/__tests__/ReactDOMFizzServer-test.js
@@ -2508,4 +2508,27 @@ describe('ReactDOMFizzServer', () => {
default,
]);
});
+
+ // @gate experimental
+ it('Supports iterable', async () => {
+ const Immutable = require('immutable');
+
+ const mappedJSX = Immutable.fromJS([
+ {name: 'a', value: 'a'},
+ {name: 'b', value: 'b'},
+ ]).map(item =>
{item.get('name')});
+
+ await act(async () => {
+ const {pipe} = ReactDOMFizzServer.renderToPipeableStream(
+ ,
+ );
+ pipe(writable);
+ });
+ expect(getVisibleChildren(container)).toEqual(
+ ,
+ );
+ });
});
diff --git a/packages/react-server/src/ReactFizzServer.js b/packages/react-server/src/ReactFizzServer.js
index c09d21cb55cf5..018235aae0872 100644
--- a/packages/react-server/src/ReactFizzServer.js
+++ b/packages/react-server/src/ReactFizzServer.js
@@ -1181,7 +1181,7 @@ function renderNodeDestructive(
const iteratorFn = getIteratorFn(node);
if (iteratorFn) {
if (__DEV__) {
- validateIterable(node, iteratorFn());
+ validateIterable(node, iteratorFn);
}
const iterator = iteratorFn.call(node);
if (iterator) {