当我按下按钮时"选择歌曲,它会给我一个错误:"TypeError:undefined不是对象(正在计算"_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 (...);
};