From 6fcb478d72e9e96792182e54db5afda6ecf4e3bf Mon Sep 17 00:00:00 2001 From: Xavier Carpentier Date: Thu, 24 Jan 2019 13:29:53 +0100 Subject: [PATCH] fix MessageContainer-Pure --- src/MessageContainer.js | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/src/MessageContainer.js b/src/MessageContainer.js index 3e35ebd..cdb211f 100644 --- a/src/MessageContainer.js +++ b/src/MessageContainer.js @@ -16,11 +16,11 @@ import LoadEarlier from './LoadEarlier'; import Message from './Message'; import Color from './Color'; -export default class MessageContainer extends React.Component { +export default class MessageContainer extends React.PureComponent { state = { showScrollBottom: false, - } + }; componentDidMount() { if (this.props.messages.length === 0) { @@ -28,14 +28,6 @@ export default class MessageContainer extends React.Component { } } - shouldComponentUpdate(nextProps) { - const next = nextProps.messages; - const current = this.props.messages; - return ( - next.length !== current.length || next.extraData !== current.extraData || next.loadEarlier !== current.loadEarlier - ); - } - componentWillReceiveProps(nextProps) { if (this.props.messages.length === 0 && nextProps.messages.length > 0) { this.detachKeyboardListeners(); @@ -91,7 +83,7 @@ export default class MessageContainer extends React.Component { scrollToBottom = () => { this.scrollTo({ offset: 0, animated: 'true' }); - } + }; handleOnScroll = (event) => { if (event.nativeEvent.contentOffset.y > this.props.scrollToBottomOffset) { @@ -99,7 +91,7 @@ export default class MessageContainer extends React.Component { } else { this.setState({ showScrollBottom: false }); } - } + }; renderRow = ({ item, index }) => { if (!item._id && item._id !== 0) { @@ -145,7 +137,8 @@ export default class MessageContainer extends React.Component { return ( {this.props.scrollToBottomComponent} - ); + + ); } return scrollToBottomComponent; }