Ошибка unstable_flushDiscreteUpdates: Cannot flush updates when React is already rendering

Ошибка возникает, когда я пишу что-то в textarea. Может кто-нибудь объяснить, как решить эту проблему, пожалуйста?

Code:

Dialogs.jsx:

import React from 'react';
import s from './Dialogs.module.css';
import DialogItem from './DialoItem/DialogItem';
import Message from './Message/Message';

const Dialogs = (props) => {   
  let onSendMessageClick = () => {
    props.sendMessage()
  }

  let onNewMessageChange = (e) => {
    let text = e.target.value
    props.updateNewMessageBody(text)
  }

    return (
        <div className={s.dialogs}>
            <div className={s.dialogsItems}>
                {props.dialogsPage.dialogs.map(d => <DialogItem name={d.name}  id={d.id} />)}
            </div>
            <div className={s.messages}>
                <div>{props.dialogsPage.messages.map(m => <Message message={m.message}/>)}</div>
                <div>
                    <div>
                        <textarea value={props.dialogsPage.newMessageBody}
                        onChange={onNewMessageChange}
                        placeholder='Enter your message'></textarea>
                        </div>
                    <div><button onClick={onSendMessageClick}>Send</button></div>
                </div>
            </div>
        </div>
    )
}

export default Dialog

dialogs-reducer.js:

const UPDATE_NEW_MESSAGE_BODY = 'UPDATE_NEW_MESSAGE_BODY'
const SEND_MESSAGE = 'SEND_MESSAGE'

let initialState = {
    messages: [
        { id: 1, message: 'Wish you were here' },
        { id: 2, message: 'Good buy blue sky' },
        { id: 3, message: 'Hey You', },
        { id: 4, message: 'Hey You' },
        { id: 5, message: 'Yo' }
    ],
    dialogs: [
        { id: 1, name: 'Sasha', src: 'https:/www.meme-arsenal.com/memes/b877babd9c07f94b952c7f152c4e264e.jpg' },
        { id: 2, name: 'Vlada', src: 'https://klike.net/uploads/posts/2019-03/1551511801_1.jpg' },
        { id: 3, name: 'Alex', src: 'https://www.meme-arsenal.com/memes/be50e6ba99654b5455027dcc82beb5b3.jpg' },
        { id: 4, name: 'Artem', src: 'https://cspromogame.ru//storage/upload_images/avatars/1299.jpg' },
        { id: 5, name: 'Timofey', src: 'https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/8f/8f160b5e9d954380c4b14b0f5ff4295ec9c141df_full.jpg' },
        { id: 6, name: 'Dima', src: 'https://bygaga.com.ua/uploads/posts/2013-07/1373469484_kak_delayutsya_avatarki.jpeg' }
    ],
    newMessageBody: ''
}

const dialogsReducer = (state = initialState, action) => {
    switch (action.type) {
        case UPDATE_NEW_MESSAGE_BODY:
            debugger
            return {
                ...state,
                newMessageBody: action.body
            }
        case SEND_MESSAGE:
            let body = state.newMessageBody
            return {
            ...state,
            newMessageBody: '',
            messages: [...state.messages, {id: 6, message: body}]
        }
        default:
            return state
    }
}
export default dialogsReducer

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