首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以在React-Rails中使用<%=标记%>吗?

我可以在React-Rails中使用<%=标记%>吗?
EN

Stack Overflow用户
提问于 2018-02-02 15:25:13
回答 1查看 200关注 0票数 0

我有个问题。我正在使用react-rails制作一个表单。我可以在React-Rails中使用<%= tag %>从数据库调用数据吗?

我试过这样的东西,但它不起作用。

代码语言:javascript
复制
<input class="form-control" type="text" name="user[phone]" id="user_phone" defaultValue=<%= user.email %>  />

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2018-02-02 16:26:42

不,这是不可能的。从React组件内部无法访问Rails框架。React-Rails框架的用途是在视图模板中安装组件的便捷方法,如下所示:

代码语言:javascript
复制
<%= react_component("MyComponent", { data: "that", becomes: "properties" }) %>

并且还能够预先呈现ReactComponent服务器端(需要服务器上的NodeJS引擎),以便立即向最终用户呈现组件结果,而不必等待加载所有javascript资源。

如果您想使用Rails记录中的数据,则必须将该信息作为属性传递给已挂载的组件,然后就可以像访问任何其他React属性一样访问它们。

要显示一个示例:

代码语言:javascript
复制
<%= react_component("UserComponent", { email: @user.email, phone: @user.phone }) %>

然后,该组件可能如下所示:

代码语言:javascript
复制
class UserComponent extends Component {

  static propTypes = {
    email: PropTypes.string,
    phone: PropTypes.string,
  }

  render() {
    const { email, phone } = this.props;

    return (
      <div>
        <input
          className="form-control"
          type="text"
          name="user[email]"
          id="user_email"
          defaultValue={ email }
        />
        <input
          className="form-control"
          type="text"
          name="user[phone]"
          id="user_phone"
          defaultValue={ phone }
        />
      </div>
    );
  }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48577680

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档