From 10e5797c91127f0cbad396dd3446592ebcb93239 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20My=C5=9Bli=C5=84ski?= Date: Wed, 13 Dec 2017 14:45:10 +0100 Subject: [PATCH 1/2] Pass render prop when component is used --- src/renderComponent.js | 2 +- src/renderComponent.test.js | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 src/renderComponent.test.js diff --git a/src/renderComponent.js b/src/renderComponent.js index a3446146..94cd2c0e 100644 --- a/src/renderComponent.js +++ b/src/renderComponent.js @@ -11,7 +11,7 @@ export default function renderComponent( ): React.Node { const { render, children, component, ...rest } = props if (component) { - return React.createElement(component, { ...rest, children }) // inject children back in + return React.createElement(component, { ...rest, children, render }) } if (render) { return render({ ...rest, children }) // inject children back in diff --git a/src/renderComponent.test.js b/src/renderComponent.test.js new file mode 100644 index 00000000..22906342 --- /dev/null +++ b/src/renderComponent.test.js @@ -0,0 +1,16 @@ +import renderComponent from './renderComponent' + +describe('renderComponent', () => { + it('should pass render prop', () => { + const children = 'some children' + const render = () => 'examplary render function' + const props = { + component: () => null, + children, + render + } + const name = 'TestComponent' + const result = renderComponent(props, name) + expect(result.props).toEqual({ children, render }) + }) +}) From d7ed12e416cfb4355cdc575d02fb9a0cf76e41b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20My=C5=9Bli=C5=84ski?= Date: Wed, 13 Dec 2017 14:48:39 +0100 Subject: [PATCH 2/2] Improve test name --- src/renderComponent.test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/renderComponent.test.js b/src/renderComponent.test.js index 22906342..44d30b18 100644 --- a/src/renderComponent.test.js +++ b/src/renderComponent.test.js @@ -1,7 +1,7 @@ import renderComponent from './renderComponent' describe('renderComponent', () => { - it('should pass render prop', () => { + it('should pass both render and children prop', () => { const children = 'some children' const render = () => 'examplary render function' const props = {