我是新手,反應/反應本地,並試圖構建一個播放本地MP3的簡單應用程序。我正在使用react-native-sound模塊,它似乎工作得很好。React Native:使用const中的道具
雖然現在,我試圖通過fileName
作爲從我的類別道具球員組成。 這似乎是react-native-sound需要我預先加載一個聲音文件。因此,現在我得到以下錯誤:
"Unhandled JS Exception: Cannot read property 'fileName' of undefined".
...
import Sound from 'react-native-sound';
const play = new Sound(this.props.fileName, Sound.MAIN_BUNDLE, (error) => {
if (error) {
console.log('failed to load the sound', error);
} else { // loaded successfully
console.log('duration in seconds: ' + play.getDuration() +
'number of channels: ' + play.getNumberOfChannels());
}
});
export default class playTrack extends Component {
constructor(props) {
super(props);
this.state = {
playing: false,
track: this.props.fileName,
};
}
playTrack() {
this.setState({playing: true})
play.play((success) => {
if (success) {
console.log('successfully finished playing');
} else {
console.log('playback failed due to audio decoding errors');
}
})
}
...
你有任何指針,我如何去了解呢?
在組件類定義之外沒有'this.props'。 – pawel
在第三行中,您使用this.props.filename約定'Sound',但'this'指向窗口並且沒有道具 – MichaelB
詞法範圍;} – jdmdevdotnet