#reactjs #react-native #react-redux #react-hooks #react-context
Вопрос:
Привет , дорогой, спасибо, что ответили на мой вопрос, я пытаюсь передать массив из одного компонента в другой, используя контекст 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>
Комментарии:
1. Каков актуальный вопрос для этого поста?
2. Похоже, вы можете обновить
playlist
состояние с помощью некоторых данных массива, и они будут переданы в значении контекста. Есть ли где-то проблема или вопрос, скрытый в вашем посте?
Ответ №1:
Вот ответ, реформировав API контекста playlistContext.tsx, как показано ниже:
import React from 'react';
var context = {
playlist: [],
setPlaylist: (songID: string[]) => {
}
}
export var playlistContext = React.createContext(context);
Затем я сделал это в своем приложении.tsx, поэтому должен использовать его в поставщике
const [playlist, setPlaylist] = useState<string | string[]>([]);
<playlistContext.Provider value={{
playlist,
setPlaylist: (songID: string[]) => setPlaylist(songID),
}}>
<Navigation colorScheme={colorScheme} />
<StatusBar />
<PlayerWidget />
</playlistContext.Provider>