我感到困惑。拥有自编写组件,使用npm
通过Weather.js
安装,如下所示:
src/components
文件夹中的import React, { Component } from 'react';
import { GenericWeather } from 'react-weather';
class Weather extends Component {
render() {
return (
<GenericWeather city="Tampere" temp="17.61" status="sun" />
);
}
}
export default Weather;
个组件
App.js
src/
位于import React, { Component } from 'react';
import './App.css';
import Weather from './components/Weather';
class App extends Component {
componentWillMount() {
}
render() {
return (
<div className="App">
<Weather />
</div>
);
}
}
export default App;
文件夹中,如下所示:
export
导致以下错误:
元素类型无效:期望一个字符串(对于内置组件)或一个类/函数(对于复合组件)但得到:undefined。您可能忘记从其定义的文件中导出组件,或者您可能混淆了默认导入和命名导入。检查&#39;天气&#39;的渲染方法。
我很想知道,因为import
和GenericWeather
看起来没问题,尝试将<div>
<p>hello world</p>
</div>
更改为:
react-weather
瞧,错误消失了。
所以,在这一点上,我很好奇,我怎样才能让import UIKit
class ProfileViewController: UIViewController {
@IBOutlet weak var bioTextView: UITextView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
工作?
答案 0 :(得分:1)
检查react-weather的最新版本,如果您导入它,您会发现只有两个可用的指定导出可用:YahooWeather
和AccuWeather
。
看来文档已经过时了。
编辑: 我克隆了repo并创建了一个新版本,确实可以像文档中所说的那样工作。 如果你想使用它,你需要这样做:
git clone https://github.com/AmarShaked/ReactWeather
yarn install (inside root folder of the cloned repo)
yarn build (to fire the webpack new build)
因此,在[repo_root]/lib/index.js
内你将拥有uglified包。您可以复制到您正在使用的项目,然后在您的代码中引用。
import { GenericWeather } from '../[relative_path_to_script]/index';