Реагировать::Размещение на сервере::Предварительная ошибка в поиске#показать

#ruby-on-rails #react-rails #execjs

Вопрос:

Я гит на эту ошибку реагирую::Сдача серверов::Ошибка предварительного просмотра в поиске#показать из этого скрипта

 lt;%= react_component('TagList', { tags: @tags }, { prerender: true }) %gt;  

Ошибки, как показано ниже

 Encountered error "#lt;ExecJS::ProgramError: TypeError: Cannot read property 'serverRender' of undefinedgt;" when prerendering TagList with {"tags":[{"id":40,"name":"food","created_at":"2021-09-04T20:55:32.358 07:00","updated_at":"2021-09-04T20:55:32.358 07:00","featured":false,"slug":"food","lowercase_name":"food"},{"id":46,"name":"good","created_at":"2021-10-14T22:12:19.645 07:00","updated_at":"2021-10-14T22:12:19.645 07:00","featured":false,"slug":"good","lowercase_name":"good"}]} eval (eval at lt;anonymousgt; ((execjs):37:8), lt;anonymousgt;:6:45) eval (eval at lt;anonymousgt; ((execjs):37:8), lt;anonymousgt;:18:13) (execjs):37:8 (execjs):55:14 (execjs):1:40 Object.lt;anonymousgt; ((execjs):1:58) Module._compile (internal/modules/cjs/loader.js:1085:14) Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10) Module.load (internal/modules/cjs/loader.js:950:32) Function.Module._load (internal/modules/cjs/loader.js:790:12)  

Это app/javascript/components/TagList.js

 import React from 'react'; import ReactDOM from "react-dom"; import PropTypes from 'prop-types';  export default class TagList extends React.Component {  render () {  return (  lt;div className={`tags-wrapper ${this.props.className}`} gt;  {this.renderTags()}  lt;/divgt;  );  }   renderTags() {  return this.props.tags.map(tag =gt; {  return (  lt;a  key={tag.id}  className="tag"  href={`/tags/${tag.slug}`}gt;  {tag.name}  lt;/agt;  );  });  } }  

Это app/javascript/server_rendering.js

 const componentRequireContext = require.context("components", true); const ReactRailsUJS = require("react_ujs");  window.componentRequireContext = componentRequireContext ReactRailsUJS.useContext(componentRequireContext);  

Ресурсы представлены ниже
execjs 2.8.1
react-рельсы 2.6.1
рубин 3.0.2
рельсы 7.0.0.alpha2

Кто-нибудь может посоветовать, как это исправить?

Ответ №1:

Теперь я могу исправить проблему, обновив
lt;%= react_компонент («Список тегов», {теги: @теги}, {предварительный просмотр: истина }) %gt; gt;
до
lt;%= react_компонент(«Список тегов», { теги: @теги }, { предварительный просмотр: ложь }) %gt;