reactjs - 如何通过 Context native 传递数组
问题描述
嗨,亲爱的,感谢您回答我的问题,我正在尝试使用下面的 react-native 上下文将数组从一个组件传递到另一个组件,但它不适用于数组
import React from 'react';
var context = {
playlist: null, //like I want to make this value a array
setPlaylist: (songID: string) => {
}
}
export var playlistContext = React.createContext(context);
我的 App.tsx 文件
const [playlist, setPlaylist] = useState<string | null>(null);
<playlistContext.Provider value={{
playlist,
setPlaylist: (songID: string) => setPlaylist(songID),
}}>
<Navigation colorScheme={colorScheme} />
<StatusBar />
<PlayerWidget />
</playlistContext.Provider>
解决方案
这是通过改革 playlistContext.tsx 上下文 API 得到的答案,如下所示:
import React from 'react';
var context = {
playlist: [],
setPlaylist: (songID: string[]) => {
}
}
export var playlistContext = React.createContext(context);
然后我在我的 App.tsx 中执行此操作,因此必须在提供程序中使用它
const [playlist, setPlaylist] = useState<string | string[]>([]);
<playlistContext.Provider value={{
playlist,
setPlaylist: (songID: string[]) => setPlaylist(songID),
}}>
<Navigation colorScheme={colorScheme} />
<StatusBar />
<PlayerWidget />
</playlistContext.Provider>
推荐阅读
- flutter - Flutter:确定Dialog何时成功呈现
- python - 斜线的形态闭合
- elasticsearch - 'output.elasticsearch.bulk_max_size':必须是 [100, 5000] 之间的数字(含)
- python - 使用 ctypes 将类型指针的参数传递给指向 C 函数的指针
- java - 检查 url 是否在 android 中有效
- google-apps-script - 脚本在工作表中运行良好,而不是在另一个工作表中
- spring - 尝试调用不存在的方法 com.github.cloudyrock.mongock.SpringMongockBuilderBase.lambda$getMongoTemplateProxySupplier
- python - jNLP(日语自然语言处理)中的 jTokenize(JapaneseTokenize)
- powershell - 用于在每个循环中生成文件的 Powershell 计数器
- apache-spark - 处理大型数据集的最佳方法