Не отрабатывают события WebSockets

Вот такой элементарный код с использованием WebSockets. При этом он не отрабатывает. При нажатии на кнопку не отправляет сообщение в консоль)

const App = () => {
const ws = new WebSocket('ws://localhost:3000/');

const wsHanlder = () => {
    ws.onopen = () => {
        console.log('Open')
    }
    ws.onclose = () => {
        console.log('Close')
    }
    ws.onmessage = e => {
        console.log(e.data)
    }
    ws.onerror = e => {
        console.log(e.data)
    }
}

return(
    <>
        <button onClick={() => wsHanlder()}>Send</button>
    </>
)

}


Ответы (1 шт):

Автор решения: Nikita

Попытался спроектировать отправку сообщения:

const App = () => { const ws = new WebSocket('ws://localhost:3000/');

ws.onopen = () => {
    console.log('Open')
}
ws.onclose = () => {
    console.log('Close')
}
ws.onmessage = e => {
    console.log(e.data)
}
ws.onerror = e => {
    console.log(e.data)
}

const wsHanlder = () => {
    ws.send('Hi')
}

return(
    <>
        <button onClick={() => wsHanlder()}>Send</button>
    </>
)

}

Получил ошибку: × InvalidStateError: Failed to execute 'send' on 'WebSocket': Still in CONNECTING state.

→ Ссылка