Я передал все через props, но оно отрисовало только какую-то часть этой компоненты.
Вот как я передаю содержимое
import React from "react"
import { NavLink } from "react-router-dom"
import {addNewMessageActionCreator, updateNewMessageBodyCreator} from "../../../redux/store"
import DialogMessage from "./DialogMessage"
import StoreContext from "../../../StoreContext"
const DialogMessageContainer = () => {
return <StoreContext.Consumer>
{ store => {
let state = store.getState()
let onNewMessagechange = (body) => {store.dispatch(updateNewMessageBodyCreator(body))}
let addMessage = () => {
store.dispatch(addNewMessageActionCreator())
}
return <DialogMessage updateNewMessageBodyCreator={onNewMessagechange} sendMessage={addMessage}
dialogsPage={state}/>}
}
</StoreContext.Consumer>
}
export default DialogMessageContainer
И вот так я его пытаюсь отобразить
import s from "./DialogMessage.module.css"
import React from "react"
import { NavLink } from "react-router-dom"
import {addNewMessageActionCreator, updateNewMessageBodyCreator} from "../../../redux/store"
const DialogMessage = (props) => {
let newMessageBody = props.dialogsPage.state.newMessageBody;
let onNewMessagechange = (event) => {
let body = event.target.value;
props.updateNewMessageBodyCreator(body)
}
let addMessage = () => {
props.sendMessage()
}
return (
<>
<div className={s.profile}>
<img src={ props.dialogsPage.state.message.url} alt="img" />
<div className={s.text}>
<span><NavLink className={s.navlink} href="/profile">{ props.dialogsPage.state.message.name}</NavLink > <a>{ props.dialogsPage.state.message.time}</a></span>
<p>{ props.dialogsPage.state.message.message}</p>
</div>
</div>
<input onChange={onNewMessagechange} type="text" />
<button onClick={() => {addMessage()}} >add</button>
</>
)
}
export default DialogMessage