React:使用react-weather

时间:2018-01-20 21:59:05

标签: javascript reactjs npm

我感到困惑。拥有自编写组件,使用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;的渲染方法。

我很想知道,因为importGenericWeather看起来没问题,尝试将<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. } } 工作?

1 个答案:

答案 0 :(得分:1)

检查react-weather的最新版本,如果您导入它,您会发现只有两个可用的指定导出可用:YahooWeatherAccuWeather

看来文档已经过时了。

编辑: 我克隆了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';