react-native - Error TypeError: undefined is not an object (evalating '_this.state') React-Native
问题描述
当我按下“选择歌曲”按钮时,它给了我错误:“TypeError:undefined is not an object (evalating '_this.state')”。这是代码。
const Buttons = ({navigation,route,props}) => {
const onUploadPress = async (props) => {
let data = new FormData();
this.state.selectedImages.forEach((item, i) => {
data.append("doc[]", {
uri: item.uri,
type: "image/jpeg",
name: item.filename || `filename${i}.jpg`,
});
});
}
return (
<View>
{/* <Text>{this.props.route.params.params.report.value}</Text> */}
<Button title="Select song" onPress={onUploadPress} />
<Button title="Run Playlist" onPress={() => navigation.navigate('Playlist',{value:param})}/>
</View>
);
};
知道这里有什么问题吗?
解决方案
你不能this
在功能组件中使用,你可以使用像这样的状态
const Buttons = ({navigation,route,props}) => {
const [selectedImages, setSelectedImages] = useState([]); // define state like
const onUploadPress = async (props) => {
let data = new FormData();
selectedImages.forEach((item, i) => { // use like this
data.append("doc[]", {
uri: item.uri,
type: "image/jpeg",
name: item.filename || `filename${i}.jpg`,
});
});
}
return (...);
};
推荐阅读
- git - 无法连接到存储库:无法创建 http 代理 uri
- python - 如何在 Django 中呈现多个表单
- python - dataframe combine_first does not work as well as fillna
- c# - 展平数据库中实体上的复杂对象
- java - 需要通过section id从HTML中获取href
- angular - 如何在angular2+中使用螺栓而不是http请求
- angular - 变量在打字稿中自动更改
- php - SQL: Select all rows that match something in another table
- symfony - I can not retrieve the parameters of a URL passed in GET in symfony 3
- ngrx - ngrx/store 选择器返回 [object Object]