Environment
React Native Environment Info:
System:
OS: macOS 10.14
CPU: x64 Intel(R) Core(TM) i5-6267U CPU @ 2.90GHz
Memory: 31.34 MB / 16.00 GB
Shell: 3.2.57 - /bin/bash
Binaries:
Node: 8.11.4 - /usr/local/bin/node
Yarn: 1.10.1 - ~/.yarn/bin/yarn
npm: 6.4.1 - /usr/local/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 12.0, macOS 10.14, tvOS 12.0, watchOS 5.0
Android SDK:
Build Tools: 23.0.1, 23.0.3, 24.0.3, 25.0.0, 25.0.1, 25.0.2, 25.0.3, 26.0.0, 26.0.1, 26.0.2, 26.0.3, 27.0.0, 27.0.1, 27.0.2, 27.0.3, 28.0.0, 28.0.2, 28.0.3
API Levels: 19, 22, 23, 24, 25, 26, 27, 28
IDEs:
Android Studio: 3.2 AI-181.5540.7.32.5014246
Xcode: 10.0/10A255 - /usr/bin/xcodebuild
npmPackages:
react: 16.6.0 => 16.6.0
react-native: 0.57.4 => 0.57.4
npmGlobalPackages:
react-native-cli: 2.0.1
Description
Context API works on 16.6.0-alpha.8af6728, but the consumers stop updating after upgrading to 16.6.0 or newer. The release notes say to use 16.6.0-alpha.8af6728 at least. Opening this just to make sure it's a known issue and to track this.
On a related note, I was expecting an alpha version with 16.7.0-alpha.0 support to be already available, to be honest. RN is an important react product, we want to play with new features as soon as possible like everyone else. Let me know how we could help.
Reproducible Demo
import React, { Component } from 'react'
import { Platform, StyleSheet, Text, View } from 'react-native'
const MyContext = React.createContext({ count: 0 })
class Provider extends Component {
state = { count: 0 }
componentDidMount() {
this.interval = setInterval(() => {
this.setState(state => ({ count: state.count + 1 }))
}, 1000)
}
componentWillUnmount() {
clearInterval(this.interval)
}
render() {
return (
<MyContext.Provider value={this.state}>
{this.props.children}
</MyContext.Provider>
)
}
}
export default function App() {
return (
<Provider>
<View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
<MyContext.Consumer>
{({ count }) => (
<>
<Text>Welcome to React Native!</Text>
<Text>Count: {count}</Text>
</>
)}
</MyContext.Consumer>
</View>
</Provider>
)
}
Environment
React Native Environment Info:
System:
OS: macOS 10.14
CPU: x64 Intel(R) Core(TM) i5-6267U CPU @ 2.90GHz
Memory: 31.34 MB / 16.00 GB
Shell: 3.2.57 - /bin/bash
Binaries:
Node: 8.11.4 - /usr/local/bin/node
Yarn: 1.10.1 - ~/.yarn/bin/yarn
npm: 6.4.1 - /usr/local/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 12.0, macOS 10.14, tvOS 12.0, watchOS 5.0
Android SDK:
Build Tools: 23.0.1, 23.0.3, 24.0.3, 25.0.0, 25.0.1, 25.0.2, 25.0.3, 26.0.0, 26.0.1, 26.0.2, 26.0.3, 27.0.0, 27.0.1, 27.0.2, 27.0.3, 28.0.0, 28.0.2, 28.0.3
API Levels: 19, 22, 23, 24, 25, 26, 27, 28
IDEs:
Android Studio: 3.2 AI-181.5540.7.32.5014246
Xcode: 10.0/10A255 - /usr/bin/xcodebuild
npmPackages:
react: 16.6.0 => 16.6.0
react-native: 0.57.4 => 0.57.4
npmGlobalPackages:
react-native-cli: 2.0.1
Description
Context API works on
16.6.0-alpha.8af6728, but the consumers stop updating after upgrading to16.6.0or newer. The release notes say to use16.6.0-alpha.8af6728 at least. Opening this just to make sure it's a known issue and to track this.On a related note, I was expecting an alpha version with
16.7.0-alpha.0support to be already available, to be honest. RN is an important react product, we want to play with new features as soon as possible like everyone else. Let me know how we could help.Reproducible Demo