1
0
mirror of https://github.com/chinchang/web-maker.git synced 2025-05-06 10:35:30 +02:00

ContentWraps: Move console fnprops to constrcutor to avoid new fn creation on render

This commit is contained in:
Kushagra Gour 2018-11-05 14:51:46 +05:30
parent 8e545529b6
commit 86c66bd344
2 changed files with 27 additions and 13 deletions

View File

@ -37,6 +37,15 @@ export default class ContentWrap extends Component {
window.previewException = this.previewException.bind(this);
// `clearConsole` is on window because it gets called from inside iframe also.
window.clearConsole = this.clearConsole.bind(this);
this.consoleHeaderDblClickHandler = this.consoleHeaderDblClickHandler.bind(
this
);
this.clearConsoleBtnClickHandler = this.clearConsoleBtnClickHandler.bind(
this
);
this.toggleConsole = this.toggleConsole.bind(this);
this.evalConsoleExpr = this.evalConsoleExpr.bind(this);
}
shouldComponentUpdate(nextProps, nextState) {
return (
@ -840,12 +849,10 @@ export default class ContentWrap extends Component {
<Console
logs={this.state.logs}
isConsoleOpen={this.state.isConsoleOpen}
onConsoleHeaderDblClick={this.consoleHeaderDblClickHandler.bind(
this
)}
onClearConsoleBtnClick={this.clearConsoleBtnClickHandler.bind(this)}
toggleConsole={this.toggleConsole.bind(this)}
onEvalInputKeyup={this.evalConsoleExpr.bind(this)}
onConsoleHeaderDblClick={this.consoleHeaderDblClickHandler}
onClearConsoleBtnClick={this.clearConsoleBtnClickHandler}
toggleConsole={this.toggleConsole}
onEvalInputKeyup={this.evalConsoleExpr}
/>
<CssSettingsModal
show={this.state.isCssSettingsModalOpen}

View File

@ -22,7 +22,7 @@ import { commandPaletteService } from '../commandPaletteService';
const minCodeWrapSize = 33;
/* global htmlCodeEl, jsCodeEl, cssCodeEl, logCountEl
/* global htmlCodeEl
*/
export default class ContentWrapFiles extends Component {
constructor(props) {
@ -46,6 +46,15 @@ export default class ContentWrapFiles extends Component {
window.previewException = this.previewException.bind(this);
// `clearConsole` is on window because it gets called from inside iframe also.
window.clearConsole = this.clearConsole.bind(this);
this.consoleHeaderDblClickHandler = this.consoleHeaderDblClickHandler.bind(
this
);
this.clearConsoleBtnClickHandler = this.clearConsoleBtnClickHandler.bind(
this
);
this.toggleConsole = this.toggleConsole.bind(this);
this.evalConsoleExpr = this.evalConsoleExpr.bind(this);
}
shouldComponentUpdate(nextProps, nextState) {
return (
@ -641,12 +650,10 @@ export default class ContentWrapFiles extends Component {
<Console
logs={this.state.logs}
isConsoleOpen={this.state.isConsoleOpen}
onConsoleHeaderDblClick={this.consoleHeaderDblClickHandler.bind(
this
)}
onClearConsoleBtnClick={this.clearConsoleBtnClickHandler.bind(this)}
toggleConsole={this.toggleConsole.bind(this)}
onEvalInputKeyup={this.evalConsoleExpr.bind(this)}
onConsoleHeaderDblClick={this.consoleHeaderDblClickHandler}
onClearConsoleBtnClick={this.clearConsoleBtnClickHandler}
toggleConsole={this.toggleConsole}
onEvalInputKeyup={this.evalConsoleExpr}
/>
</div>
</SplitPane>