React не правильно обновляется State redux

195
16 июня 2022, 23:20

При любом изменении инпута в state записывается и возвращается всегда один символ, который был нажат на клавиатуре последним. Возможно не внимательный либо что-то не так делаю и не могу понять почему так! Если обновить страницу - символ будет по одному последнему добавляться к предыдущим! Так же если строку "9" переместить в component2.js - всё будет работать как нужно (Как я понял это наверное из-за неверного получения данных из обновлённого State)

Данные передаются для обработки и вывода value с component.js в component2.js (Указанно в pastebin)

//reducers.js
case UPDATE_ARTICLE_STATE:
    return {
        ...state,
        [action.payload.name]: action.payload.value
    };
 
//component.js
const state = useSelector(state => state.createArticle, shallowEqual);
const handleChange = (data) => {
    dispatch(updateArticleState(data));
}
 
const handlePublish = (props) => {
    const content = <PublishContent user={user} link={state.link} handleChange={handleChange} />;
    openModal(content);
}
 
//component2.js
const handleChange = event => {
    const target = event.target;
    const value = target.value;
    const name = target.name;
    props.handleChange({name, value});
}
 
<input 
    type="text"
    className="form-control input input-search"
    id="link"
    name="link"
    value={ props.link || '' }
    onChange={handleChange} />

READ ALSO
Как расширить меню в две стороны?

Как расширить меню в две стороны?

Как расширить меню в две стороны?

243
как найти элемент в iframe?

как найти элемент в iframe?

помоги с проблемой, есть компонент в который входит iframe с видео youtubeДля этого компонента подготовил превьювер с кнопкой по нажатию на которую,...

241
Deno - Ошибка TS2339 [ERROR]: Property &#39;name&#39; does not exist on type &#39;UserSchema | null&#39;

Deno - Ошибка TS2339 [ERROR]: Property 'name' does not exist on type 'UserSchema | null'

Есть две функции javascript/typescript(Deno)Первая получает инфо по пользователю по id, а вторая удаляет пользователя по id

280