не могу отправить параметры с WebSocket в реагировать родной - PullRequest
0 голосов
/ 05 октября 2019

Я хочу отправить параметр после кнопки onPress.

при добавлении socket.send в ComponentDidMount работает нормально, и мой светодиодный переключатель включен (на плате), но когда я хочу использовать socket.send в функции onPress кнопки Dosenне работает !! это мой код:

import React, { Component } from 'react'
import { Text, View, Alert, Slider, TouchableOpacity } from 'react-native'
var socket = new WebSocket('ws://192.168.0.157:81');
export default class main extends Component {
    constructor () {
        super();

        this.state = {

        };
    }

    _sendOn() {
        socket.onopen = () => {
            console.log("send function ON")
            socket.send(".")
            Alert.alert("Led on")
        }
        console.log("Press ON")
    }
    _sendOff() { 
        socket.onopen = function () {
            console.log("send function OFF")
            Alert.alert("Led off")
            socket.send("?")
        }
        console.log("Press OFF")

    }
    componentDidMount() {
        socket.onopen = function () {
            Alert.alert("connection is open")
        }
    }
    render() {
        return (
            <View style={{ flex: 1, alignContent: "center", flexDirection: 'column', margin: 30 }}>

                <TouchableOpacity style={{ width: 150, height: 30, backgroundColor: '#5687ab', margin: 20 }}
                    onPress={() =>this._sendOn()}>
                    <Text style={{ fontSize: 20, textAlign: 'center' }}>ON</Text>
                </TouchableOpacity>
                <TouchableOpacity style={{ width: 150, height: 30, backgroundColor: '#5687ab', margin: 20 }}
                    onPress={() =>this._sendOff() }
                >
                    <Text style={{ fontSize: 20, textAlign: 'center' }}>OFF</Text>
                </TouchableOpacity>
            </View>
        )
    }
}

как решить эту благодарность за помощь

1 Ответ

0 голосов
/ 05 октября 2019

я меняю свой код и работаю плавник

  _sendOn() {
        socket.send(".")
        console.log("Press ON")
        Alert.alert("Led on")
    }

не нужно открывать соединение снова.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...