【问题标题】:How to pass a Array through Context native如何通过 Context native 传递数组
【发布时间】:2021-08-22 23:46:39
【问题描述】:

嗨,亲爱的,感谢您回答我的问题,我正在尝试使用下面的 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>

【问题讨论】:

  • 这篇文章的实际问题是什么?
  • 似乎您可以使用一些数组数据更新playlist 状态,它将在上下文值中传递。您的帖子中是否存在问题或疑问?

标签: reactjs react-native react-redux react-hooks react-context


【解决方案1】:

这是通过改革 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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-02
    • 2018-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多