Отсутствует ":" с использованием мгновенного поиска Algolia
SyntaxError: missing : after property id
Я вижу эту ошибку в своей консоли, используя Algolia Instant Search на Firefox (Mac). Мне сообщили, что IE11 визуально отображает то же самое, однако я не уверен в ошибке в IE? И Chrome, и Safari не содержат ошибок.
Когда я декомпилирую свой код, Firefox указывает на эту строку как на виновника, однако я не уверен, что это проблема?
const {container, placeholder, delayTime = 500, suggestionsIndex, mainIndex} = renderParams.widgetParams;
=====
Обновить
Проблема в том, как установить delayTime, хотя я не уверен на 100%, как его следует установить. В краткосрочной перспективе я не устанавливаю delayTime так, как указано выше. Вместо этого я закомментировал delayTime и заменяю места, которые он называет, на 500.
1 ответ
Кажется, что пример, предоставленный документацией InstantSearch, использует некоторый синтаксис, который может быть недоступен в версии JavaScript, поставляемой с вашим браузером.
const {container, placeholder, delayTime = 500, suggestionsIndex, mainIndex} = renderParams.widgetParams;
эквивалентно (в современных браузерах):
const container = renderParams.widgetParams.container;
const placeholder = renderParams.widgetParams.placeholder;
const delayTime = renderParams.widgetParams.delayTime || 500;
const suggestionsIndex = renderParams.widgetParams.suggestionsIndex;
const mainIndex = renderParams.widgetParams.mainIndex;
Распространенное решение для исправления этих проблем, связанных с несоответствиями браузера, - это перенести ваш код JavaScript в наименьший общий знаменатель из доступной в настоящее время версии JavaScript с помощью Babeljs. Кривая обучения Babel поначалу может быть крутой, но это стало бесценным инструментом для доставки кода, который работает во всех браузерах.