将模板添加到React Component

时间:2016-08-30 11:57:02

标签: meteor-accounts

我正在使用Meteor React Tutorial中的登录示例

meteor add accounts-ui accounts-password

一切都好,但我试图找到文件并更改它,但我不知道它在哪里。

这是我的代码:

    import { Blaze } from 'meteor/blaze';

export default class AccountsUIWrapper extends Component {

  componentDidMount(){
    this.view = Blaze.render(Template.loginButtons,
    ReactDOM.findDOMNode(this.refs.container));
  }

  componentWillUnmount(){
    Blaze.remove(this.view);
  }

  render(){
    return <span ref="container"/>
  }
}

我安装了meteor add useraccounts:materialize 我怎样才能把模板放在这个上?

1 个答案:

答案 0 :(得分:1)

您需要将组件放在/imports/ui/目录中,并将文件命名为AccountsUIWrapper.jsx

因此它会保存为/imports/ui/AccountsUIWrapper.jsx

然后,您可以使用以下内容将/imports/ui/App.jsx文件中的包装组件导入:

import AccountsUIWrapper from './AccountsUIWrapper.jsx';

然后在你的React渲染函数中使用它在同一个文件中:

<AccountsUIWrapper />

本教程将其列出pretty clearly,包括所有文件名和位置。您应该能够访问他们的GitHub存储库。

如果您需要,作为参考,您可以在我自己完成本教程的这一特定步骤时查看my code

更新:对于useraccounts:materialize

您提到的useraccounts:materializedepends on useraccounts:core包为其基础。因此,您无法直接将useraccounts:materialize应用于默认的meteor accounts包。

按照useraccounts:core上的说明进行设置。您可能还需要删除accounts-ui,因为它可能会与上述软件包冲突。

然后,浏览显示如何在Blaze中呈现其帐户模板的useraccounts documentation

之后,使用与教程中显示的相同方式,您应该能够为useraccounts:materialize Blaze模板创建新的React包装。

以下是Iron Router和Flow Router的样板useraccounts:materialize代码的链接。从这些中你可以参考Blaze模板代码,然后你可以将其包装在React: