1、Make sure Packager server is running.
Make sure Chrome is running and not pause...
解决方式:
android没有出现这个问题,主要是ios模拟出现这个问题了,我首先关闭所有相关程序,然后重启了mac机器,但是没有解决掉(有人的人遇见这个问题重启后是可以解决的),我实际解决这个问题的方式是在ios模拟器中关闭了debug调试。
如何访问App内的开发菜单:
在iOS中晃动设备或者在模拟器上按下control + ⌘ + z
。
在Android中晃动设备或者按下硬件菜单键(一般只有老设备或者大多数模拟器还有这个键。比如,在genymotion 中你可以通过按下⌘ + m
来模拟点击硬件菜单)。PC键盘上也有这个键,一般在标准键盘右边的Ctrl和右Windows键之间,即模拟鼠标右键的键。
2、Navigator传递问题,问题出现原因是在其他嵌套组件中如果要使用返回、下一步这种导航操作的时候如果没有按照以下参数传递方式传递到最终的使用控件,则会报找不到navigator错误。
//Login界面传递导航对象到Home,Home传递到PullRefreshControl组件 <PullRefreshControl navigator={this.props.navigator}/>
解决方式:
我当前是在PullRefreshControl中刷新的时候跳转到下一页,那么this.props.navigator传递到以上代码中的PullRefreshControl控件这一级就可以了,在刷新方法中调用this.props.navigator.push(),这样可以正常跳转。
3、setState(...): takes an object of state variables to update or a function which returns an object of state variables.
问题原因:
onChangeText={(name)=>{this.setState(name)}}监听中setState方法包含的是传递进来的参数是个string,setState传递的参数需要是一个对象或者是function
解决方式:
修改this.setState(name)为this.setState({name})
4、Element type is invalid:expected a string(for built-in components) or a class/function(for composite components)but got:object.
问题原因:
export必须和import搭配 不能用require引入
解决方式:
var Forecast = require('./Forecast')
修改为
import Forecast from './Forecast'
还有中解决方案是
var Forecast = require('./Forecast').default;
5、/Users/wang/Documents/demo/reactnative/Peckish/WeatherProject.js: Expected corresponding JSX closing tag for <PressButton> (54:6)
at WeatherProject.js:54:6
问题原因:
<PressButton>没加结束标记
解决方式