javascript - 如何在 TypeScript 中声明“{ message }”的类型?
问题描述
所以,我在学习打字稿,对此我有一个疑问:在类似的函数player.addListener('initialization_error', ({ message } ) => { console.error(message); });
中,我如何声明 " {message}
" 的类型?
var Spotify:any
useEffect(() => {
const script = document.createElement('script');
script.src = "https://sdk.scdn.co/spotify-player.js";
script.async = true;
document.body.appendChild(script);
return () => {
document.body.removeChild(script);
}
}, []);
(window as any).onSpotifyWebPlaybackSDKReady = () => {
const token = '[My Spotify Web API access token]';
const player = new Spotify.Player({
name: 'Web Playback SDK Quick Start Player',
getOAuthToken: (cb:any) => { cb(token); }
});
// Error handling
player.addListener('initialization_error', ({ message } ) => { console.error(message); });
player.addListener('authentication_error', ({ message }) => { console.error(message); });
player.addListener('account_error', ({ message }) => { console.error(message); });
player.addListener('playback_error', ({ message }) => { console.error(message); });
// Playback status updates
player.addListener('player_state_changed', (state:any) => { console.log(state); });
// Ready
player.addListener('ready', ({ device_id }) => {
console.log('Ready with Device ID', device_id);
});
// Not Ready
player.addListener('not_ready', ({ device_id }) => {
console.log('Device ID has gone offline', device_id);
});
// Connect to the player!
player.connect();
};
整个代码是,我将 TypeScript 与 React 一起使用,TypeScript 发出关于隐式“任何”类型消息的警告。
解决方案
interface EventParams {
readonly message: string;
}
const test: (params: EventParams) => void = ({ message }) => {
console.log(message);
};
test({ message: "Hello world!" });
推荐阅读
- javascript - 在两个页面之间导航时 React Scroll Event 重复导致同时触发功能
- c# - 正确使用 IEqualityComparer 的 GetHashCode
- ms-access - 保存当前记录时保存单独的记录
- pytorch - 如何让cuda回家?我对 conda 虚拟环境感到困惑
- aframe - proj4js 项目从 WGS84 到 A-Frame 场景的 X、Y 坐标
- java - 为什么像这样与 I/O 或访问共享数据有关的计算问题需要的不仅仅是 Ncpu 线程产生的最佳吞吐量?
- android - HERE Map SDK 配置具有不同 applicationId 的多个构建变体
- python - 一个烧瓶/反应表出现 500 错误,而另一个却没有?
- hl7-fhir - FHIR 格式的 COVID-19 诊断测试
- java - 无法生成范围报告