#javascript #reactjs #redux #react-router
#javascript #reactjs #redux #реагировать-маршрутизатор
Вопрос:
У меня есть простой блог (реакция / сокращение) (только часть интерфейса). С регистрацией пользователей и статьями. И застрял при попытке отправить идентификатор в редактор. У меня такая же форма, но другой путь для добавления новой и редактирования существующей статьи:
<Route path="/add" component={ !currentUser ? Login : ArticleEditor } />
<Route path="/article/:id/edit" component={ !currentUser ? Login : ArticleEditor } />
это может быть просто, но я понятия не имею, как отправить (или получить) идентификатор компоненту ArticleEditor для заполнения формы.
Пожалуйста, помогите, если у вас есть хорошие знания в React / Redux.
Ответ №1:
вы должны использовать useParams
import { useParams } from 'react-router-dom';
const { id } = useParams();
или в компоненте класса
const id = this.props.match.params.id;
Комментарии:
1. ty. похоже, я не могу использовать хуки внутри компонента класса. : (должен ли я переписать все в функции или есть другой способ получить идентификатор?
2. для компонента класса попробуйте
const id = this.props.match.params.id;
в constctor3. tnx. попробовал это, и теперь кажется, что это еще одна проблема в моем коде, потому что он всегда «неопределенный». будет искать ошибку.