首先,我创建了一个.js文件并创建了上下文。
在app.js
export default function App({ navigation }) {
const [ItemURL,setItemURL] = useState('URL')
return (
<ItemContext.Provider value={ItemURL}>
...
</ItemContext.Provider>
)
}
现在我想把setItemURL
传递给我的子组件
所以我试了。
export default const ItemsComponent = (props) => {
const [URL, setURL] = useContext(ItemContext)
return(
<TouchableWithoutFeedback
onPress={() => {
setURL(props.Json.Image)
}}
/>
)
}
但它不起作用,说setURL is not a function(in setURL(props.Json.Image)) ,setURL is 'R'
实际上应该在上下文值中传递setURL
函数。
export default function App({ navigation }) {
const [ItemURL, setItemURL] = useState('URL');
const value = [ItemURL, setItemURL];
return (
<ItemContext.Provider value={value}>
...
</ItemContext.Provider>
)
}