Что означают двоеточие и доллар, приведенные ниже, в React?
Пример двоеточия:
Пример для доллара (он используется прямо перед выражением, но почему):
Что означают двоеточие и доллар, приведенные ниже, в React?
Пример двоеточия:
Пример для доллара (он используется прямо перед выражением, но почему):
$ не реагирует. Но его функция ES6, называемая литералами шаблонов, подробнее представлена в Литералы шаблонов. базовые или литералы шаблонов.
В реакции у вас есть компоненты маршрута и ссылки в модуле маршрутизатора реакции.
Маршрут принимает два свойства: path and component
. Когда путь соответствует пути, указанному для компонента, он вернет указанный компонент.
В вашем маршруте вы говорите, что он соответствует любому пути, который имеет фильм/любой идентификатор, что означает, что он переходит к указанному компоненту (здесь фильм) с заданным параметром
Ссылка используется для указания, по какому пути идти. Это просто оболочка тега <a>
, которая помогает перейти к указанному пути, а в вашем текущем примере — к /movie/1 (при условии, что this.state.movies[index].id равен 1)
Ну, это функция JavaScript ES6,
Как вы понимаете, до ES6 вы могли сделать что-то вроде:
var user = 'xyz' + newuser;
ES6:
var user = `xyz${newuser}`;
Литералы шаблонов заключаются в обратную галочку (``
). Литералы шаблонов могут содержать заполнители. Они обозначены знаком доллара и фигурными скобками (${expression})
.
Подробнее о шаблонных литералах в Mozilla можно узнать.
Я тоже потратил целую вечность, пытаясь выяснить, как работает толстая кишка. Довольно неприятно пытаться перепроектировать примеры, а не объяснять это в разделе API.
Сказав это, в документации есть подсказка https://reacttraining.com/react-router/core/api/Route, где говорится, что путь принимает «любой действительный URL-адрес или массив путей, который понимает path-to-regexp@^1.7.0». Если вы посмотрите документацию для пути к регулярному выражению, вы увидите, что «Именованные параметры определяются путем добавления двоеточия к имени параметра... По умолчанию параметр будет соответствовать до следующего сегмента пути»
Затем вы можете посмотреть https://reacttraining.com/react-router/core/api/match, в котором объясняется, как получить объект match
и как извлечь из него параметры.
Доллар — это синтаксис es6 для использования переменных в строках.
В данном случае :
является частью синтаксиса path-to-regexp
, используемого React Router (и Express) для путей; он позволяет указать параметр. Это имеет два значения.
<Route path='/app/:page'>
Будет соответствовать любому /app/
, за которым следует что угодно. Обратите внимание, что здесь есть гибкие типы соответствия, но они не совсем типичные регулярные выражения: https://github.com/pillarjs/path-to-regexp/tree/v1.7.0
/app/
) доступным через хук useParams
React Router (https://reactrouter.com/web/api/Hooks/useparams).Хороший пример синтаксиса можно найти в разделе «Параметры маршрута» на этой странице: https://expressjs.com/en/guide/routing.html