Я использую реагировать на выбор и перешел от компонента к хукам. Надеюсь, это было удобнее.
Когда я добавляю задачу в asociatedTodos, я получаю эту ошибку:
TypeError: Object (...) не является функцией
Я использую реагирование-выбор, вместо componentDidMount, я использую useEffect, а для переноса действия я использую useDispatch, а для выбранного значения и setValue из onChange я использую useState.
Это мой код:
import React, {
useState,
useEffect,
useDispatch
} from 'react';
import Select from 'react-select';
import "./styles.css";
import {
searchTodos
} from '../../actions/ServiceActions';
const SelectInput = ({
label,
input,
width,
placeholder,
meta: {
touched,
error
},
...rest
}) => {
const [todo, setTodo] = useState();
const dispatch = useDispatch();
useEffect(() => {
dispatch(this.props.searchTodos());
}, [])
return ( <
div className = 'form-container' >
<
label forname = {
input.name
} > {
label
} < /label> <br / >
<
Select {
...rest
}
placeholder = {
!input.value ? 'please, select a todo' : input.value
}
selected = {
input.value ? input.value : null
}
onBlur = {
input.onBlur
}
value = {
tarea
}
onChange = {
setTodo
}
options = {
dispatch(this.props.searchTodos())
}
className = 'form-control' /
>
<
div className = 'text-danger'
style = {
{
marginBottom: '20px'
}
} > {
touched && error
} <
/div> <
/div>
);
};
export default SelectInput;
Я хотел бы знать, какой метод используется вместо connect. Метод Connect служит только для компонента класса. Какой метод, эквивалентный соединению, служит для функционального компонента, чтобы получить все задачи из задачи-редуктора с помощью перехватчиков реагирования.
Вы можете руководствоваться Использование реагирующего выбора У меня следующая проблема: Невозможно прочитать свойство 'значение' of undefined
, чтобы объяснить, как я могу выбрать определенную задачу и изменить значение, используя хуки, используя todoList в качестве редуктора и хуков.
Все, что я хочу, - это поиск определенной задачи в todoList редуктор, выберите определенный todo, измените значение todo в выпадающем меню (выберите компонент) и извлеките todoList через действие «searchTodos» с помощью хуков.