#reactjs #react-typescript
#reactjs #react-typescript
Вопрос:
В react я использую tsx
file. где, как загрузить дочерний компонент под родительский компонент?
вот страница моих продуктов:
import React from "react";
import {
Link,
Route,
Switch,
useRouteMatch,
useParams
} from "react-router-dom";
import "./products.scss";
const Shoes = React.lazy(() => import("./shoes/shoes.component"));
const Cloths = React.lazy(() => import("./cloths/cloths.component"));
export default class Products extends React.Component {
render() {
return (
<>
<header>
<Link to="/shoe">Shoes</Link>
<Link to="/cloths">Cloths</Link>
</header>
<h1>Products page</h1>;
<main>
<h2>Subpage goes here </h2>
<p>sub pages should load here </p>
</main>
</>
);
}
}
по щелчку дочернего Link
элемента я хочу загрузить их в main
элемент.
Комментарии:
1. вы можете загрузить дочерний компонент внутри «main» в зависимости от условия расположения
Ответ №1:
Пожалуйста, проверьте документы для получения дополнительной информации
<div>
<header>
<Link to="/products/shoe">Shoes</Link>
<Link to="/products/cloths">Cloths</Link>
</header>
<h1>Products page</h1>
<Route path={`/products/shoe`}>
<Shoes />
</Route>
<Route path={`/products/cloths`}>
<Cloths />
</Route>
</div>
Комментарии:
1. кстати, я получаю сообщение об ошибке, как
Property 'name' is missing in type '{}' but required in type '{ name: any; }'.
вindex.tsx
файле. есть идеи? Как загрузить ботинки по умолчанию?2. сделайте его <Home name={«dummyName»}/> внутри index.tsx
3. обувь и одежда загружаются как абсолютный путь вместо ссылки на родительский.
/products/shoes
вместо этого он не вводится как/shoes
… как абсолютный путь. как это исправить4. @user2024080 привет, что-то не так с этой реализацией, я работаю над этим .. скоро обновится.
5. Я думаю,
withRouter
мы можем использовать для компонента класса. необходимо провести некоторое исследование