在另一个文件中使用功能设置状态

时间:2018-07-13 13:49:47

标签: react-native

在不尝试更新我的状态的情况下,正确显示了初始的location状态。当我使用助手功能设置状态时,我的应用程序中什么也不显示。我究竟做错了什么?此外,在props的{​​{1}}中记录ShowLocation表示render()正确通过。

App.js

coords{lat:xx,long:xx}

ShowLocation.js

import * as helpers from './src/helpers';

export default class App extends React.Component {
  constructor(props) {
    super(props);
    this.state = globals.initial_state;
  }

  componentDidMount(){
    this.setState({location:helpers.getLocation()});
  }

  render() {
    return (
      <View>
        <ShowLocation coords={this.state.location} />
      </View>
    );
  }
}

helpers.getLocation:

class ShowLocation extends Component {
    constructor(props){
        super(props);
    }

    render(){
        return(
            <View>
                <Text>{this.props.coords.lat}, {this.props.coords.long}</Text>
            </View>
        )
    }
};

1 个答案:

答案 0 :(得分:-1)

您尝试过

componentDidMount(){
  this.setState({ location: getLocation().bind(this) });
}

或者,同样的东西,但是代码更简洁:

constructor() {
  // other stuff
  this.getLocation = getLocation().bind(this)
}

componentDidMount(){
  this.setState({ location: this.getLocation() });
}

编辑:

您必须import { getLocation} from 'path/of/file'