From 992f00693a6d6f0bb9c29cd7689bc477c8bec588 Mon Sep 17 00:00:00 2001 From: Maciek Blim Date: Sat, 2 Jun 2018 10:02:57 +0200 Subject: [PATCH] optional `key` param for `createPortal` --- types/react-dom/index.d.ts | 2 +- types/react-dom/react-dom-tests.tsx | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/types/react-dom/index.d.ts b/types/react-dom/index.d.ts index bd9541217d..e7a5afe59d 100644 --- a/types/react-dom/index.d.ts +++ b/types/react-dom/index.d.ts @@ -19,7 +19,7 @@ import { export function findDOMNode(instance: ReactInstance): Element | null | Text; export function unmountComponentAtNode(container: Element): boolean; -export function createPortal(children: ReactNode, container: Element): ReactPortal; +export function createPortal(children: ReactNode, container: Element, key?: null | string): ReactPortal; export const version: string; export const render: Renderer; diff --git a/types/react-dom/react-dom-tests.tsx b/types/react-dom/react-dom-tests.tsx index 3f153b0a75..ff5ef5850e 100644 --- a/types/react-dom/react-dom-tests.tsx +++ b/types/react-dom/react-dom-tests.tsx @@ -42,7 +42,14 @@ describe('ReactDOM', () => { } } - ReactDOM.createPortal(React.createElement('div'), portalTarget); + ReactDOM.createPortal(
, document.createElement('div')); + ReactDOM.createPortal(
, document.createElement('div'), null); + ReactDOM.createPortal(
, document.createElement('div'), 'key'); + + ReactDOM.createPortal(React.createElement('div'), document.createElement('div')); + ReactDOM.createPortal(React.createElement('div'), document.createElement('div'), null); + ReactDOM.createPortal(React.createElement('div'), document.createElement('div'), 'key'); + ReactDOM.render(, rootElement); }); });