Javascript React Native-TypeError:null不是对象

Javascript React Native-TypeError:null不是对象,javascript,reactjs,react-native,Javascript,Reactjs,React Native,我仍在学习react native,我正在尝试从API检索数据,并将其作为自定义单选按钮返回,但如果我调用API,则会出现以下错误: null不是计算“this.props.activities.map”的对象 {this.props.activities.mapval,索引=>{ 让{key,type,placeholder}=val; 如果类型===选择{ var按钮=[]; placeholder.forEache,索引=>{ var selectedButton=img.findBut

我仍在学习react native,我正在尝试从API检索数据,并将其作为自定义单选按钮返回,但如果我调用API,则会出现以下错误:

null不是计算“this.props.activities.map”的对象

{this.props.activities.mapval,索引=>{ 让{key,type,placeholder}=val; 如果类型===选择{ var按钮=[]; placeholder.forEache,索引=>{ var selectedButton=img.findButtone,true; var normalButton=img.findButtone; 按钮 this.changeSelectionkey,e} selected={this.state[key][value]} /> ; }; 变量行=[], 列=[]; var i=0; buttons.forEache,索引=>{ rows.push; i++; 如果i==2 | |索引===buttons.length-1{ //每行最大按钮数 i=0; 柱推 {rows} ; 行=[]; i=0; } }; 回来 {columns} ; } }} 这个道具活动是从哪里来的

它是异步的,因为它在某个点上看起来是空的

如果添加以下行,您将不会再看到此错误

this.props.activities && this.props.activities.map(.....
这个道具活动是从哪里来的

它是异步的,因为它在某个点上看起来是空的

如果添加以下行,您将不会再看到此错误

this.props.activities && this.props.activities.map(.....

Paul answer是防弹的,但您也可以使用默认值来避免错误的值


Paul answer是防弹的,但您也可以使用默认值来避免错误的值

活动的初始状态为空。所以,在从api获得响应之前,React将使用null值呈现代码的该部分。您可以将activities:[]作为初始值,也可以在map函数之前指定,如果它为null或不为null,则可以

{this.props.activities && this.props.activities.map((val, index) => {...
如果您要使用活动:[],那么您仍然可以在地图前进行检查,尽管它是可选的,但仍然很好,例如

{this.props.activities.length && this.props.activities.map((val, index) => {...
活动的初始状态为空。所以,在从api获得响应之前,React将使用null值呈现代码的该部分。您可以将activities:[]作为初始值,也可以在map函数之前指定,如果它为null或不为null,则可以

{this.props.activities && this.props.activities.map((val, index) => {...
如果您要使用活动:[],那么您仍然可以在地图前进行检查,尽管它是可选的,但仍然很好,例如

{this.props.activities.length && this.props.activities.map((val, index) => {...

如果添加以下行,会发生什么情况?这看起来不完整,怎么会是空的?@Rajesh它不完整@BillyRonaldoChandra更新了问题。我希望你能提供更多关于为什么活动会被取消的信息,如果你添加以下行,会发生什么?这看起来不完整,怎么会是空的?@Rajesh它不完整@BillyRonaldoChandra更新了问题。我希望你能提供更多关于为什么活动可以为空的信息