【问题标题】:React Component in Meteor PackageMeteor 包中的 React 组件
【发布时间】:2018-03-06 23:39:37
【问题描述】:

解决于 2017-10-23 [见下文]

我正在尝试将 React 组件编写为 Meteor 包,但我认为我在某处做了一些非常错误的事情,我在网上的任何地方都找不到任何示例。

我的包设置如下:

Package.describe({
  name: 'bardia:mapackage',
  version: '0.0.1',
  summary: '',
  documentation: 'README.md'
});

Package.onUse(function(api) {
  api.versionsFrom('1.5.2');
  api.use('ecmascript');
  api.mainModule('mapackage.js');
});

和我的 mapackage.js 一样

import Comps from './Comps';

export const name = Comps;

和我这样的反应组件

import React, { Component } from 'react';

class Comps extends Component {
  render() {
    return (
      <div>
         welll this lah
      </div>
    );
  }
}

export default Comps;

当将其导入我的主应用程序时:

import {name} from 'meteor/bardia:mapackage'
const App = props => (
  <center>{name}</center>
);

它只是返回

<center data-reactroot=""></center>

如果我将 export const name = Comps 替换为 export const name = 'Comps';它将呈现“Comps”。意思是,它只呈现字符串。

我怎么去上班!?

【问题讨论】:

  • 您应该将其发布为您自己问题的答案。
  • @MasterAM 好主意,谢谢

标签: javascript reactjs meteor meteor-packages


【解决方案1】:

因此,在与另一位开发人员交谈后,我设法更好地了解了组件是如何呈现的。作为一种解决方案,我使用 React-Router 重定向到每个组件,因为我最初希望它是这样的。

我正在使用 CleverBeagle Pup Boilerplate ,没什么特别的,它是一个最小的 Meteor - React 包,它提供了你需要的工具,而不会使事情变得过于复杂。

如果你想获得我的运行代码,请克隆这个 repo:REPO

一旦你克隆了它,在文件夹中运行Meteor npm installnpm start , Read More

在包文件夹中,我创建了一个名为Mapackage 的示例包,这就是所有魔法发生的地方。在进行测试时,我将对此仓库进行更改。


Comps.jsx

这只是一个简单的 react 组件,要导出

Mapackage.js

//Import Components that are going to be exported as Routes
import Comps from './Comps';

//Export Router and their components
const MaPack = ()=>{
  return(
    <div>
      <Route path='/maPack' exact={true} component={Comps} />
      //if you want more functionality on your routes
      <Route path='/maPack/:_id' exact={true} component={subMaPack} />
    </div>
  )
}

完成此操作后,您只需将路由组件导入您的路由器或交换机Read More

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-07
    • 1970-01-01
    • 2016-10-07
    • 1970-01-01
    • 2017-07-23
    • 1970-01-01
    • 2021-04-01
    • 2018-07-16
    相关资源
    最近更新 更多