summaryrefslogtreecommitdiffstats
path: root/packages/gitbook-core
diff options
context:
space:
mode:
Diffstat (limited to 'packages/gitbook-core')
-rw-r--r--packages/gitbook-core/src/components/HTMLContent.js10
-rw-r--r--packages/gitbook-core/src/createReducer.js14
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;
};
}