0
我需要調用componentWillMount中的一個函數,但我不希望它位於同一個文件中。React Native:在componentWillMount中導入一個組件
有沒有辦法引用componentWillMount中的函數?
下面是代碼,我已經離開了很多,因爲我在重構中間我這是不相關的解決這個問題的代碼(因此這個問題!):
Midpoint.js:
import React, { Component } from 'react';
class Midpoint extends Component {
midpoint(lat1, lng1, lat2, lng2) {
const rad = (Math.PI)/180;
const rlat1 = lat1 * rad;
const rlng1 = lng1 * rad;
const rlat2 = lat2 * rad;
const rlng2 = lng2 * rad;
const dlng = rlng2 - rlng1;
const Bx = Math.cos(rlat2) * Math.cos(dlng);
const By = Math.cos(rlat2) * Math.sin(dlng);
const lat3 = Math.atan2(Math.sin(rlat1) + Math.sin(rlat2),
Math.sqrt(((Math.cos(rlat1) + Bx) * (Math.cos(rlat1) + Bx)) + (By * By)));
const lng3 = rlng1 + Math.atan2(By, (Math.cos(rlat1) + Bx));
const lat = (lat3 * 180)/Math.PI;
const lng = (lng3 * 180)/Math.PI;
this.setState({ lat2: lat, lng2: lng });
}
}
export default Midpoint;
這是我想導入到下面的功能:
ResultsPage.js:
import React, { Component } from 'react';
import { View, Text, StyleSheet } from 'react-native';
import getDirections from 'react-native-google-maps-directions';
import axios from 'axios';
import Midpoint from './Midpoint';
import { Card, CardSection, Button } from './common';
class ResultsPage extends Component {
state = {}
componentWillMount() {
.then(response => { Midpoint.midpoint(this.state.p1Latitude, this.state.p1Longitude, this.state.p2Latitude, this.state.p2Longitude) })
}
我收到的錯誤是_Midpoint2.default.midpoint is not a function