ReactNative Expo Redux ReferenceError: Can't find variable: document
ReactNative Expo Redux ReferenceError: Can't find variable: document
世博会:3.27.4 => 4.1.3
react-native-cli: 2.0.1
本机反应:0.62.2 => 0.63.4
@reduxjs/toolkit: 1.5.0
react-redux: 7.2.2
redux: 4.0.5
我是 react-native 的新手,正在尝试将 Redux 实现到我的 Expo 应用程序中。
这段代码构建了多次(我假设这是因为 expo registerRootComponent(App))然后一旦它运行我得到一个:
“引用错误:找不到变量:文档”
我的index.js目前出现错误的地方是这样的:
import { registerRootComponent } from 'expo';
import App from './App'
import React from 'react'
import ReactDOM from 'react-dom'
import store from './app/store'
import { Provider } from 'react-redux'
ReactDOM.render(
<Provider store={store}>
<App />
</Provider>,
document.getElementById('root')
)
registerRootComponent(App);
我也试过将其放入自己的函数中,因为我遇到了类似的错误,这对我有帮助。
function App () {
return (
ReactDOM.render(
<Provider store={store}>
<MainFunc />
</Provider>,
document.getElementById('root')
)
)
}
但是它又一次找不到文档。请帮我找文档。
不是完美的解决方案。
我无法使 ReactDOM.render 部分工作,但使用挂钩似乎可以很好地重新呈现我的组件。
第 1 步
从 index.js 中删除 RectDOM.render 并替换为标准 expo:
import { registerRootComponent } from 'expo';
import App from './App';
registerRootComponent(App);
第 2 步
用 Provider 包围你的 App() 内容(不要忘记导入 Provider 和存储):
import store from './app/store';
import { Provider } from "react-redux";
function App () {
return (
<Provider store={store}>
<Components/>
</Provider>
)
}
第 3 步
在 redux 内存中发生更改时要重新加载的组件中创建对象的实例:
const currentTicket = useSelector((state) =>
state.tickets.find((ticket) => ticket.id == global.currentTicketID)
);
注意:我的 redux 存储是一个票证对象数组,所以我必须使用数组查找函数找到我想要使用的票证
然后创建一个接受实例值的挂钩:
useEffect(() => {
//code you want to run on change of the instance value
}, [currentTicket.num]);
注意:这仅在您具有功能组件时有效(而非类)
世博会:3.27.4 => 4.1.3
react-native-cli: 2.0.1
本机反应:0.62.2 => 0.63.4
@reduxjs/toolkit: 1.5.0
react-redux: 7.2.2
redux: 4.0.5
我是 react-native 的新手,正在尝试将 Redux 实现到我的 Expo 应用程序中。 这段代码构建了多次(我假设这是因为 expo registerRootComponent(App))然后一旦它运行我得到一个:
“引用错误:找不到变量:文档”
我的index.js目前出现错误的地方是这样的:
import { registerRootComponent } from 'expo';
import App from './App'
import React from 'react'
import ReactDOM from 'react-dom'
import store from './app/store'
import { Provider } from 'react-redux'
ReactDOM.render(
<Provider store={store}>
<App />
</Provider>,
document.getElementById('root')
)
registerRootComponent(App);
我也试过将其放入自己的函数中,因为我遇到了类似的错误,这对我有帮助。
function App () {
return (
ReactDOM.render(
<Provider store={store}>
<MainFunc />
</Provider>,
document.getElementById('root')
)
)
}
但是它又一次找不到文档。请帮我找文档。
不是完美的解决方案。
我无法使 ReactDOM.render 部分工作,但使用挂钩似乎可以很好地重新呈现我的组件。第 1 步
从 index.js 中删除 RectDOM.render 并替换为标准 expo:import { registerRootComponent } from 'expo';
import App from './App';
registerRootComponent(App);
第 2 步
用 Provider 包围你的 App() 内容(不要忘记导入 Provider 和存储):import store from './app/store';
import { Provider } from "react-redux";
function App () {
return (
<Provider store={store}>
<Components/>
</Provider>
)
}
第 3 步
在 redux 内存中发生更改时要重新加载的组件中创建对象的实例: const currentTicket = useSelector((state) =>
state.tickets.find((ticket) => ticket.id == global.currentTicketID)
);
注意:我的 redux 存储是一个票证对象数组,所以我必须使用数组查找函数找到我想要使用的票证
然后创建一个接受实例值的挂钩:
useEffect(() => {
//code you want to run on change of the instance value
}, [currentTicket.num]);
注意:这仅在您具有功能组件时有效(而非类)