diff options
Diffstat (limited to 'packages/gitbook-core')
-rw-r--r-- | packages/gitbook-core/src/components/HTMLContent.js | 10 | ||||
-rw-r--r-- | packages/gitbook-core/src/createReducer.js | 14 |
2 files changed, 20 insertions, 4 deletions
diff --git a/packages/gitbook-core/src/components/HTMLContent.js b/packages/gitbook-core/src/components/HTMLContent.js index 979fe0c..4ce41f6 100644 --- a/packages/gitbook-core/src/components/HTMLContent.js +++ b/packages/gitbook-core/src/components/HTMLContent.js @@ -12,9 +12,15 @@ const { InjectedComponent } = require('./InjectedComponent'); function inject(injectedProps, Component) { return (props) => { + const cleanProps = { + ...props, + className: props.className + }; + delete cleanProps['class']; + return ( - <InjectedComponent {...injectedProps(props)}> - <Component {...props} /> + <InjectedComponent {...injectedProps(cleanProps)}> + <Component {...cleanProps} /> </InjectedComponent> ); }; diff --git a/packages/gitbook-core/src/createReducer.js b/packages/gitbook-core/src/createReducer.js index 6860277..2ebecfb 100644 --- a/packages/gitbook-core/src/createReducer.js +++ b/packages/gitbook-core/src/createReducer.js @@ -9,8 +9,18 @@ function createReducer(name, reduce) { return (state, action) => { const value = state[name]; - state[name] = reduce(value, action); - return state; + const newValue = reduce(value, action); + + if (newValue === value) { + return state; + } + + const newState = { + ...state, + [name]: newValue + }; + + return newState; }; } |