javascript - 在 React 中使用 props

标签 javascript reactjs

我正在使用来自 api 的数据构建一个应用程序,我想在应用程序中包含用户的纬度和经度。

我的应用程序位于两个文件中:app.jsmain.js

app.js 中,我像这样渲染组件:

render(<Main source="https://api.darksky.net/forecast/apikey/latitude,longitude?units=auto"/>, document.getElementById('app'));

纬度和经度当前已硬编码在组件源中,我想使它们动态化。

在我的 main.js 中,组件使用这样的 api:

componentDidMount() {
 this.serverRequest = $.get(this.props.source, function (result) {
  this.setState({
    daily: result.daily.data,
    hourly: result.hourly.data
  });
 }.bind(this));
}

我能够使用 HTML 地理位置获取用户位置 - 我想我应该将其存储在构造函数或 componentWillMount 中,但我需要一种方法将变量发送到 app.js 文件中主要组件的源 - 我想我应该使用像源一样的 Prop ,但我不知道如何

最佳答案

将经度和纬度作为 props 传递到组件中并在组件内组装 URL 可能是一个好方法:

render(<Main longitude={longitude} latitude={latitude} />, document.getElementById('app'));
<小时/>
componentDidMount() {
    const url = `https://api.darksky.net/forecast/apikey/${this.props.latitude},${this.props.longitude}?units=auto`;
    this.serverRequest = $.get(url, function (result) {
        this.setState({
            daily: result.daily.data,
            hourly: result.hourly.data
        });
    }.bind(this));
}

关于javascript - 在 React 中使用 props,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40532368/

相关文章:

javascript - 使用 JavaScript 的 Twitter API

javascript - HTML 名称属性不会使用 javascript 更改

css - 在 React 中缓和过渡

javascript - Cufon 与西里尔字符的问题

javascript - 类正则表达式的 CSS 属性选择器通配符捕获

javascript - Mediaelement 播放列表错误

javascript - React 的多个版本(react-dom 使用旧的 react 依赖项)

javascript - 尝试在 React 组件中上传表单中的 PDF 文件,但在使用 setFormData 时获取 {}

javascript - React/Redux,链式或 reducer 中的 promise

javascript - Reactjs .NET 中的函数永远无法实现 - 如何在渲染中调用简单的箭头函数?