Я создаю простое приложение Todo, используя React JS, Hooks и redux. Согласно приведенному ниже коду, почему я не могу обновить состояние и получить данные? Когда я отправляю поля ввода, это не показывает ошибку, но я не могу получить данные из состояния Redux. В большинстве случаев возможны ошибки при использовании функции useSelector и initialState.
# necessary imports,omitted for readers ease.
function FormComp() {
const dispatch = useDispatch()
const [inputdata,setInputdata] = useState('')
const handlesubmit =(e)=>{e.preventDefault();
dispatch(allActions.formAction.addTodo(inputdata))
}
const addtodo = useSelector(state=>state.todo)
return (
<div>
<form>
<input onChange={(e)=>setInputdata(e.target.value)} value={inputdata} />
<button onClick={handlesubmit}> submit </button>
</form>
{console.log(addtodo)} # console shows undefined
</div>
)
}
export default FormComp
ФУНКЦИЯ РЕДУКТОРА
import { ADDTODO } from "../constants/types";
const initialState={todo:'no todos'}
const toDos = (state=initialState,action)=>{
switch(action.type){
case ADDTODO:return{
...state,todo:action.payload
}
default:return state
}
}
export default toDos
ФУНКЦИЯ АКЦИИ
import { ADDTODO } from "../constants/types"
const addTodo=(todo)=>{return {
type:ADDTODO,
payload:todo
}}
export default{
addTodo
}