React - useContext 里面 class
React - useContext inside class
我是 React 的新手,我想在我的 class 中使用 useContext,我该如何解决这个问题?这是我当前代码的示例
import { Context } from '../context/ChatListContext'
const ChatList = ({ onAction }) => {
const {state, fetchChatList} = useContext(Context)
我也期待我的 class
import { Context } from '../context/ChatListContext'
class MainScreen extends Component {
//const {state, fetchChatList} = useContext(Context) *how do i declare this?
constructor(props) {
super(props)
this.state = { loading: true, showAction: false }
setTimeout(() => {
StatusBar.setBackgroundColor(primary)
}, 100)
}
...
}
谁能教教我?
useContext
是一个不能在 class 组件中使用的钩子。对于 class 组件,您定义 static contextType
import { Context } from '../context/ChatListContext'
class MainScreen extends Component {
static contextType = Context
constructor(props) {
super(props)
this.state = { loading: true, showAction: false }
setTimeout(() => {
StatusBar.setBackgroundColor(primary)
}, 100)
}
...
render() {
const {state, fetchChatList} =this.context;
}
}
可以为 class 上的上下文类型 属性 分配一个由 React.createContext() 创建的上下文对象。
注意在 class 之外我们如何将 MyContext 的值分配给 Class.contextType
然后您可以使用 this.context
访问您的所有上下文
import MyContext from '@/context/MyContext'
class Login extends React.component() {
constructor(props) {
super(props);
this.state = { four: 2*2 }
}
render() {
console.log(this.context);
return (
<div>
</div>
)
}
}
Login.contextType = MyContext
我是 React 的新手,我想在我的 class 中使用 useContext,我该如何解决这个问题?这是我当前代码的示例
import { Context } from '../context/ChatListContext'
const ChatList = ({ onAction }) => {
const {state, fetchChatList} = useContext(Context)
我也期待我的 class
import { Context } from '../context/ChatListContext'
class MainScreen extends Component {
//const {state, fetchChatList} = useContext(Context) *how do i declare this?
constructor(props) {
super(props)
this.state = { loading: true, showAction: false }
setTimeout(() => {
StatusBar.setBackgroundColor(primary)
}, 100)
}
...
}
谁能教教我?
useContext
是一个不能在 class 组件中使用的钩子。对于 class 组件,您定义 static contextType
import { Context } from '../context/ChatListContext'
class MainScreen extends Component {
static contextType = Context
constructor(props) {
super(props)
this.state = { loading: true, showAction: false }
setTimeout(() => {
StatusBar.setBackgroundColor(primary)
}, 100)
}
...
render() {
const {state, fetchChatList} =this.context;
}
}
可以为 class 上的上下文类型 属性 分配一个由 React.createContext() 创建的上下文对象。
注意在 class 之外我们如何将 MyContext 的值分配给 Class.contextType
然后您可以使用 this.context
import MyContext from '@/context/MyContext'
class Login extends React.component() {
constructor(props) {
super(props);
this.state = { four: 2*2 }
}
render() {
console.log(this.context);
return (
<div>
</div>
)
}
}
Login.contextType = MyContext