React + Redux + Hook, ошибка в обновлении состояния - PullRequest
0 голосов
/ 26 апреля 2020

Я создаю простое приложение 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
}
...