Advertisement
Guest User

Untitled

a guest
Mar 20th, 2019
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import React from 'react';
  2. import { StyleSheet, View, Button, TextInput } from 'react-native';
  3. import { setActualMessage, addMessage } from '../../../actions/mensajes';
  4. import { connect } from 'react-redux'
  5.  
  6. class NuevoMensajeComponent extends React.Component {
  7.    constructor(props) {
  8.        super(props);
  9.        this.color = 'red';
  10.      }
  11.  
  12.    render(){
  13.        const { setActualMessage, addMessage, mensajeActual } = this.props;
  14.        return (
  15.            <View style={styles.container}>
  16.                <View style={styles.messageBox}>
  17.                    <TextInput
  18.                        style={{ borderColor: 'gray', borderWidth: 1}}
  19.                        onChangeText={(text) => setActualMessage(text)}
  20.                        value={mensajeActual}
  21.                    />
  22.                </View>
  23.  
  24.                <View style={styles.button}>
  25.                    <Button
  26.                        onPress={ () => addMessage( {texto:mensajeActual, color:this.color}) }
  27.                        title="Send"
  28.                    />
  29.                </View>
  30.            </View>
  31.        );
  32.    };
  33. };
  34.  
  35. const mapDispatchToProps = (dispatch) => {
  36.    return {
  37.        setActualMessage: texto => dispatch(setActualMessage(texto)),
  38.        addMessage: message => dispatch(addMessage(message))
  39.    };
  40. };
  41.  
  42. const mapStateToProps = state => ({
  43.    mensajeActual: state.mensajeActual.texto
  44. });
  45.  
  46. const styles = StyleSheet.create({
  47.    container:{
  48.        flex:1,
  49.        flexDirection:'row',
  50.        justifyContent:'flex-start',
  51.        alignItems:'stretch',
  52.    },
  53.    messageBox:{
  54.        flex:1,
  55.        margin:5
  56.    },
  57.    button:{
  58.        marginRight:5
  59.    }
  60. });
  61.  
  62. export default connect(
  63.    mapStateToProps, mapDispatchToProps
  64.  )(NuevoMensajeComponent);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement