Skip to content

Commit

Permalink
Direct assignment of the ref to avoid warning when mocking.
Browse files Browse the repository at this point in the history
Summary:
When Jest is mocking native components that are assigned a ref with an arrow function, a warning is generated about stateless components which can not have a ref. This does not happen when the ref is assigned directly.

Fixes #16045.
<!--
Thank you for sending the PR! We appreciate you spending the time to work on these changes.

Help us understand your motivation by explaining why you decided to make this change.

You can learn more about contributing to React Native here: http://facebook.github.io/react-native/docs/contributing.html

Happy contributing!

-->

The test provided in the related issue is used to validate the fix. I don't know how to detect console warnings in a Jest test.
Closes #16046

Differential Revision: D6017903

Pulled By: ericnakagawa

fbshipit-source-id: a7ed61c39f141a4094f08fc875289a7a79ebe9e8
  • Loading branch information
jmoutte authored and facebook-github-bot committed Oct 10, 2017
1 parent 3eced7f commit bbceb48
Showing 1 changed file with 9 additions and 5 deletions.
14 changes: 9 additions & 5 deletions jest/setup.js
Original file line number Diff line number Diff line change
Expand Up @@ -313,9 +313,13 @@ jest
jest.doMock('requireNativeComponent', () => {
const React = require('react');

return viewName => props => React.createElement(
viewName,
props,
props.children,
);
return viewName => class extends React.Component {
render() {
return React.createElement(
viewName,
this.props,
this.props.children,
);
}
};
});

0 comments on commit bbceb48

Please sign in to comment.