Estoy creando una aplicación con Rails-React. Una de mis vistas, search_terms/index , utiliza un componente de reacción llamado SearchTermIndex.js de la siguiente manera:
<%= react_component("SearchTermIndex", { currentUser: current_user, admin: User.where(admin: true) }) %> Cuando intento cargar esa página, la consola me da el error support for the experimental syntax 'jsx' isn't currently enabled . Intenté agregar un archivo .babelrc como se sugiere aquí , y también intenté cambiar mi archivo babel.config.js de esto:
... return { presets: [ isTestEnv && [ '@babel/preset-env', { targets: { node: 'current' } } ], (isProductionEnv || isDevelopmentEnv) && [ '@babel/preset-env', {...a esto:
...return { presets: [ isTestEnv && [ '@babel/preset-env', '@babel/preset-react', { targets: { node: 'current' } } ], (isProductionEnv || isDevelopmentEnv) && [ '@babel/preset-env', '@babel/preset-react', {... Supongo que la forma en que Rails maneja los archivos de reacción y omite la estructura normal no me permite realizar estos cambios de manera efectiva, ya que la carpeta raíz de mi aplicación está fuera del entorno de React (¿supongo?). ¿Debo crear el archivo .babelrc dentro de la carpeta de componentes? ¿O en otro lugar?
Estos tampoco parecieron solucionar mi problema, todos parecen ser para aplicaciones de solo reacción: Creando un babel.config.js instala babel/preset-react, agrega .babelrc a la carpeta /src
Se solucionó ejecutando lo siguiente (básicamente reinstalando los rieles de reacción):
bundle install rails webpacker:install rails webpacker:install:react rails generate react:install