fix(DevTools, LogMonitor): prevent LogMonitor to render once as visible state

This commit is contained in:
Nik Graf 2015-09-20 19:46:02 +02:00
parent aa5ee9b6c6
commit db184f9539
2 changed files with 20 additions and 14 deletions

View File

@ -10,9 +10,26 @@ export default function createDevTools(React) {
ActionCreators
)
class DevTools extends Component {
static defaultProps = {
visibleOnLoad: true
};
componentWillMount() {
const monitorState = {
...this.props.monitorState,
isVisible: this.props.visibleOnLoad
};
this.props.setMonitorState(monitorState);
}
render() {
const monitorState = {
...this.props.monitorState,
isVisible: this.props.visibleOnLoad
};
const { monitor: Monitor } = this.props;
return <Monitor {...this.props} />;
return <Monitor {...this.props} monitorState={monitorState} />;
}
}

View File

@ -53,15 +53,13 @@ export default class LogMonitor extends Component {
toggleAction: PropTypes.func.isRequired,
jumpToState: PropTypes.func.isRequired,
setMonitorState: PropTypes.func.isRequired,
select: PropTypes.func.isRequired,
visibleOnLoad: PropTypes.bool
select: PropTypes.func.isRequired
};
static defaultProps = {
select: (state) => state,
monitorState: { isVisible: true },
theme: 'nicinabox',
visibleOnLoad: true
theme: 'nicinabox'
};
componentWillReceiveProps(nextProps) {
@ -93,15 +91,6 @@ export default class LogMonitor extends Component {
}
}
componentWillMount() {
let visibleOnLoad = this.props.visibleOnLoad;
const { monitorState } = this.props;
this.props.setMonitorState({
...monitorState,
isVisible: visibleOnLoad
});
}
handleRollback() {
this.props.rollback();
}