在不尝试更新我的状态的情况下,正确显示了初始的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>
)
}
};
答案 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'