#javascript #reactjs #redux #compiler-errors #react-redux
#javascript #reactjs #redux #ошибки компилятора #реагировать-redux
Вопрос:
это место, где мой код застревает в onClick ();
я хотел изменить заголовок имени чата с помощью отправки (я слежу за каналом youtube -clever programmer для клона imessage), но действие не отправляется, но появляется ошибка, я использую firebase в качестве серверной части.
import React from 'react'
import "./SidebarChat.css"
import { Avatar } from '@material-ui/core'
import { useDispatch } from 'react-redux'
import setChat from "./features/chatSlice"
function SidebarChat({id,chatName}) {
const dispatch = useDispatch();
return (
<div
onClick={()=>(
dispatch(setChat({
chatId: id,
chatName: chatName
})))
}
className='sidebarChat'>
<Avatar />
<div className="sidebarChat__info">
<h3>{chatName}</h3>
<p>Last messg</p>
<small>timestamp</small>
</div>
</div>
)
}
export default SidebarChat
это chatslice
import { createSlice } from '@reduxjs/toolkit';
export const chatSlice = createSlice({
name: 'chat',
initialState: {
chatId: null,
chatName: null,
},
reducers: {
setChat: (state,action) => {
state.chatId = action.payload.chatId;
state.chatName = action.payload.chatName;
},
},
});
export const { setChat } = chatSlice.actions;
export const selectChatId = (state) => state.chat.chatId;
export const selectChatName = (state) => state.chat.chatName;
export default chatSlice.reducer;
это хранилище redux
import { configureStore } from '@reduxjs/toolkit';
import userReducer from '../features/userSlice';
import chatReducer from '../features/chatSlice';
export default configureStore({
reducer: {
user: userReducer,
chat: chatReducer,
},
});
Я новичок, и я просматривал каждую доступную страницу, но я ничего не мог получить, может кто-нибудь, пожалуйста, помогите мне
Ответ №1:
Вы должны импортировать setChat
следующим образом.
import { setChat } from "./features/chatSlice"
Комментарии:
1. ты мой спасатель, я собирался отказаться от этого проекта, но еще раз спасибо
2. Если это сработало для вас, не стесняйтесь принять мой ответ.
3. Я новичок в stack overflow, поэтому я не знаю, что означает accept в любом случае, я пытался понравиться вашему ответу, какой стек мне не позволяет, поскольку моя репутация меньше 15