@Dolerum

Как удалить элемент в реакт хук?

Здравствуйте. Хочу удалять элемент, но чего-то не выходит. Я пробывал разные варианты кода.
Сейчас я прописал статичный id для примера в редьюсере(почему-то не получается сделать нормальный key через map), который добавляет сообщение. Этот id приходит в пропсах. Я добавляю сообщение, но не могу его удалить. Получаю ошибки типа `message.filter is not a function`.
Буду крайне благодарен, если кто-то даст рабочий пример и объяснит как правильно можно было бы сделать такую вещь.
Сам код:
const PostEdit = (props) => {
  let [editMode, setEditMode] = useState(false);
  let [message, setMessage] = useState(props.message);
  useEffect(() => {
    setMessage(props.message);
  }, [props.message]);


  const activateEditMode = () => {
    setEditMode(true);
  };

  const deactivateEditMode = () => {
    setEditMode(false);
  };

  const onMessageChange = e => {
    setMessage(e.currentTarget.value);
  };

  const deleteMode = id => {
    (setMessage(message.filter(el => el.id != 1));
  };

  return (
    <div>
    {message.split('', 1).map(el => (
     <div id={el.id}>
      {!editMode && (
        <div>
          <span>
            {message ? message : props.message}
          </span>
          <div>
            <button className={style.button_edit} onClick={activateEditMode}>
              edit message
            </button>
          </div>
              <div >
            <button className={style.button_delete} onClick={() => {deleteMode(el.id)}}>
              delete
            </button>
          </div>
        </div>
      )}

      {editMode && (
        <div>
          <textarea
          />
          <div>
            <button className={style.button_save} onClick={deactivateEditMode}>
              save
            </button>
          </div>
        </div>
      )}
    </div>
    ))}
    </div>
  )
}
  • Вопрос задан
  • 47 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы