如何解决TypeDoc 我如何为内部函数生成文档
我正在尝试为我的 TypeScript/React Native 项目生成文档。但是从我所见,您需要为 TypeDoc 的函数添加导出以生成文档。但是,我的大部分功能都在组件内部,因此无法向它们添加导出。示例:
const TVShowDetailsScreen: React.FC<Props> = (props: any) => {
const user: firebase.User = firebase.auth().currentUser;
const watchlistRef = firebase.firestore().collection("Watchlist");
const { email } = user;
const [data,setData] = useState<TVShowDetails>();
const { show } = props.route.params;
useEffect(() => {
init();
},[]);
const init = async () => {
const { data } = await getTVShowDetails(show.id);
setData(data);
};
if (!data) {
return (
<View
style={{
height: Dimensions.get("window").height,width: Dimensions.get("window").width,backgroundColor: "#18181b",}}
></View>
);
}
const renderGenres = () => {
return data.genres.map((o) => {
return (
<S.GenreText key={o.id} style={{ color: "white",top: 10 }}>
{o.name}
</S.GenreText>
);
});
};
async function handleAddToWatchList() {
const watchListSnapshot = await watchlistRef
.where("userId","==",email)
.get();
const watchlistId = watchListSnapshot.docs[0].id;
const documentRef = watchlistRef.doc(watchlistId);
data.seasons.forEach(async (s) => {
let season = {
[s.season_number]: {},};
let episodesList: {
episodeNumber: number;
episodeName: string;
season: number;
}[] = [];
const { data: seasonData } = await getTVShowSeasonDetails(
data.id,s.season_number
);
const { episodes } = seasonData;
const seasonEpisodes = episodes.filter(
(e) => e.season_number === s.season_number
);
seasonEpisodes.forEach((e) => {
const episodeObject = {
episodeNumber: e.episode_number,episodeName: e.name,season: e.season_number,imdb: e.vote_average,date: e.air_date,overview: e.overview,id: e.id,stillPath: e.still_path,};
episodesList.push(episodeObject);
season[s.season_number] = episodesList;
});
documentRef.set(
{
tvShows: {
[data.name]: {
title: data.name,overview: show.overview,backdrop: "http://image.tmdb.org/t/p/w500" + data.backdrop_path,id: data.id,seasons: season,},{ merge: true }
);
});
ToastAndroid.showWithGravity(
"Added to Watchlist!",ToastAndroid.SHORT,ToastAndroid.CENTER
);
}
const renderSeasonTabs = () => {
return data.seasons.map((s) => {
return (
<Tab
key={s.season_number}
heading={
<TabHeading style={{ backgroundColor: "#880421" }}>
<Text>{s.season_number}</Text>
</TabHeading>
}
>
<TVShowSeasonTab seasonNumber={s.season_number} showId={data.id} />
</Tab>
);
});
};
return (
<View
style={{
flex: 1,justifyContent: "center",alignItems: "center",}}
>
<StatusBar hidden translucent backgroundColor="transparent" />
<ScrollView
style={{ flex: 1 }}
contentContainerStyle={{
width: Dimensions.get("window").width,}}
>
<Image
style={{ height: 281,width: 500 }}
source={{
uri: "http://image.tmdb.org/t/p/w500" + data.backdrop_path,}}
/>
<S.AddToWatchListButton onPress={handleAddToWatchList}>
<S.ButtonText>+</S.ButtonText>
</S.AddToWatchListButton>
<Text
style={{
color: "white",position: "absolute",top: 210,left: 10,fontSize: 30,}}
>
{data.name}
</Text>
{renderGenres()}
<Text
style={{
fontSize: 20,top: 20,left: 20,color: "#b9042c",}}
>
Synposis
</Text>
<Text
style={{
margin: 20,color: "white",}}
>
{show.overview}
</Text>
<Text
style={{
fontSize: 20,}}
>
IMDB
</Text>
<Text
style={{
left: 20,}}
>
{data.vote_average}
</Text>
<S.Header>Seasons</S.Header>
<Tabs style={{ marginTop: 15 }}>{renderSeasonTabs()}</Tabs>
</ScrollView>
</View>
);
};
export default TVShowDetailsScreen;
在这里,我想为 renderGenres 函数、handleAddToWatchList 函数等生成文档。是否可以使用 TypeDoc?或者是否有我可以使用的替代文档生成器?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。