在Rails6中,将数据从Rails视图传递到react组件的首选方式是什么



我知道react_on_railsreact-railsgem有向react组件传递数据的方法。例如,您可以执行以下操作:<%= react_component("HelloWorld", props: @some_props) %>

既然我们可以使用rails new myapp --webpack=reactjavascript packs,我如何将数据或道具从rails视图传递到react组件?我可以做一些类似的事情吗:<%= javascript_pack tag 'hello_react', data: @users %>

我不想构建一个api,而且似乎没有一种首选的方法来实现我想要的。到目前为止,我看到的唯一可行的方法是在这篇文章中。

我认为最优雅的方法是使用react_rails

在rails 6中,首先需要添加react rails

Gemfile

gem 'react-rails'

然后运行发电机rails generate react:install

如果你还没有安装webpacker/rails,你需要做第一个

rails webpacker:install
rails webpacker:install:react
rails generate react:install

然后用生成器生成第一个反应组件

rails g react:component HelloWorld greeting:string

接下来用gem 的view_helper在你的html.erb中渲染它

<%= react_component("HelloWorld", { greeting: "Hello from react-rails." }) %>

第一个参数是react文件名,第二个参数是道具

最新更新