setState removed from MessageBox

This commit is contained in:
Diego Mello 2017-11-21 11:25:15 -02:00
parent c2b2f7f548
commit 6aef28d036
1 changed files with 4 additions and 12 deletions

View File

@ -51,20 +51,14 @@ export default class MessageBox extends React.Component {
editing: PropTypes.bool editing: PropTypes.bool
} }
constructor(props) {
super(props);
this.state = { message: '' };
}
componentWillReceiveProps(nextProps) { componentWillReceiveProps(nextProps) {
if (this.props.message !== nextProps.message) { if (this.props.message !== nextProps.message) {
this.setState({ message: nextProps.message.msg }); this.component.setNativeProps({ text: nextProps.message.msg });
this.component.focus(); this.component.focus();
} }
} }
submit() { submit(message) {
const { message } = this.state;
const { editing } = this.props; const { editing } = this.props;
if (message.trim() === '') { if (message.trim() === '') {
return; return;
@ -78,7 +72,7 @@ export default class MessageBox extends React.Component {
// if is submiting a new message // if is submiting a new message
this.props.onSubmit(message); this.props.onSubmit(message);
} }
this.setState({ message: '' }); this.component.setNativeProps({ text: '' });
} }
addFile = () => { addFile = () => {
@ -117,13 +111,11 @@ export default class MessageBox extends React.Component {
ref={component => this.component = component} ref={component => this.component = component}
style={styles.textBoxInput} style={styles.textBoxInput}
returnKeyType='send' returnKeyType='send'
onSubmitEditing={() => this.submit()} onSubmitEditing={event => this.submit(event.nativeEvent.text)}
blurOnSubmit={false} blurOnSubmit={false}
placeholder='New message' placeholder='New message'
underlineColorAndroid='transparent' underlineColorAndroid='transparent'
defaultValue='' defaultValue=''
value={this.state.message}
onChangeText={message => this.setState({ message })}
/> />
</SafeAreaView> </SafeAreaView>
</View> </View>