Po përpiqem të përdor React brenda një aplikacioni Rails. Unë jam duke përdorur Rails 5.2.1 dhe Ruby 2.4.1. Instalova gjithashtu react-rails gem version 2.4.4 dhe provova gjithashtu në 2.4.7. Unë kam një
sites_controller.rb
class SitesController < ApplicationController
def index
end
end
views/sites/index.html.erb
<%= react_component 'Main' %>
app/assets/javascripts/components/_main.js.jsx
var Main = React.createReactClass({
render() {
return (
<div>
<Header />
</div>
)
}
})
app/assets/javascripts/components/_header.js.jsx
var Header = React.createReactClass({
render() {
return (
<div>
<h1>Hello, World!</h1>
</div>
);
}
});
Së pari provova createClass dhe pasi nuk funksionoi dhe disa lidhje thanë se createClass është hequr nga React JS v16, provova createReactClass. Unë marr gabimin e mëposhtëm
Uncaught TypeError: React.createReactClass is not a function
at _header.self-
(anonymous) @ _header.self-
f50926322cbfc16ac78826d5bfa8a3f192af29cac5125c3955f9bef3355b54d9.js?
body=1:1
_main.self-1ed2e3a6d11c77d50ab4dd84f59f619d3ae85141ee36949c34885bb6b90992c4.js?body=1:1 Uncaught TypeError: React.createClass is not a function
at _main.self-1ed2e3a6d11c77d50ab4dd84f59f619d3ae85141ee36949c34885bb6b90992c4.js?body=1:1
(anonymous) @ _main.self-1ed2e3a6d11c77d50ab4dd84f59f619d3ae85141ee36949c34885bb6b90992c4.js?body=1:1
react_ujs.self-eb4e9994228856e343ab49d1aed6c23046bf4308ea6d46395e5c39170ab3e56f.js?body=1:313 Uncaught Error: Cannot find component: 'Main'. Make sure your component is available to render.
at Object.mountComponents (react_ujs.self-eb4e9994228856e343ab49d1aed6c23046bf4308ea6d46395e5c39170ab3e56f.js?body=1:313)
at HTMLDocument.ReactRailsUJS.handleMount (react_ujs.self-eb4e9994228856e343ab49d1aed6c23046bf4308ea6d46395e5c39170ab3e56f.js?body=1:350)
at Object.e.dispatch (turbolinks.self-569ee74eaa15c1e2019317ff770b8769b1ec033a0f572a485f64c82ddc8f989e.js?body=1:6)
at r.notifyApplicationAfterPageLoad (turbolinks.self-569ee74eaa15c1e2019317ff770b8769b1ec033a0f572a485f64c82ddc8f989e.js?body=1:7)
at r.pageLoaded (turbolinks.self-569ee74eaa15c1e2019317ff770b8769b1ec033a0f572a485f64c82ddc8f989e.js?body=1:7)
at turbolinks.self-569ee74eaa15c1e2019317ff770b8769b1ec033a0f572a485f64c82ddc8f989e.js?body=1:6