Skip to content

Commit 9726a69

Browse files
Merge pull request #139 from preactjs/prevent-state-update-errors
Add setState()/forceUpdate() no-op methods to prevent errors
2 parents 552756f + 4f3ac26 commit 9726a69

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

src/index.js

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ const UNNAMED = [];
88

99
const VOID_ELEMENTS = /^(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/;
1010

11+
const noop = () => {};
12+
1113

1214
/** Render Preact JSX + Components to an HTML string.
1315
* @name render
@@ -76,7 +78,16 @@ function renderToString(vnode, context, opts, inner, isSvgMode, selectValue) {
7678
else {
7779
let rendered;
7880

79-
let c = vnode.__c = { __v: vnode, context, props: vnode.props, __h: [] };
81+
let c = vnode.__c = {
82+
__v: vnode,
83+
context,
84+
props: vnode.props,
85+
// silently drop state updates
86+
setState: noop,
87+
forceUpdate: noop,
88+
// hooks
89+
__h: []
90+
};
8091

8192
// options.render
8293
if (options.__r) options.__r(vnode);

0 commit comments

Comments
 (0)