Creating new objects rather than mutating existing objects. Fixes #121.

This commit is contained in:
Jake Archibald
2018-08-02 16:52:11 +01:00
parent 009327c2c4
commit e0dc1b48ec

View File

@@ -81,10 +81,18 @@ export default class Options extends Component<Props, State> {
onPreprocessorEnabledChange(event: Event) {
const el = event.currentTarget as HTMLInputElement;
const preprocessorState = this.props.preprocessorState;
const preprocessor = el.name.split('.')[0] as keyof typeof preprocessorState;
preprocessorState[preprocessor].enabled = el.checked;
this.props.onPreprocessorOptionsChange(preprocessorState);
const newPreprocessorState = {
...this.props.preprocessorState,
};
const preprocessor = el.name.split('.')[0] as keyof typeof newPreprocessorState;
newPreprocessorState[preprocessor] = {
...newPreprocessorState[preprocessor],
enabled: el.checked,
};
this.props.onPreprocessorOptionsChange(newPreprocessorState);
}
@bind