Skip to content

Commit 89ad340

Browse files
Merge pull request #4870 from upupming/v10.x-forward-ref-render-field
fix(compat): add .render property referencing original render function
2 parents d698fd2 + 5eada63 commit 89ad340

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

compat/src/forwardRef.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ export function forwardRef(fn) {
3636
// It expects an object here with a `render` property,
3737
// and prototype.render will fail. Without this
3838
// mobx-react throws.
39-
Forwarded.render = Forwarded;
39+
Forwarded.render = fn;
4040

4141
Forwarded.prototype.isReactComponent = Forwarded._forwarded = true;
4242
Forwarded.displayName = 'ForwardRef(' + (fn.displayName || fn.name) + ')';

compat/test/browser/forwardRef.test.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -499,4 +499,15 @@ describe('forwardRef', () => {
499499

500500
expect(actual).to.equal(null);
501501
});
502+
503+
// Issue #4769
504+
it('should attach .render pointing to the original render function', () => {
505+
function Foo(props, ref) {
506+
return <div ref={ref} />;
507+
}
508+
509+
const Forwarded = forwardRef(Foo);
510+
511+
expect(Forwarded.render).to.equal(Foo);
512+
});
502513
});

0 commit comments

Comments
 (0)