ver*_* be 6 javascript reactjs electron redux react-redux
我用反应制作了两个不同的窗口并提供相同的商店。但是,如果我更改一个窗口中的存储数据,第二个窗口不会更改。并且 idk 知道如何同步。(所有减速器和操作均按照默认 React 项目进行)
首先提供(index.js):
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
import {Provider} from 'react-redux';
import store from "../redux/store";
ReactDOM.render(
<Provider store={store}>
<App/>
</Provider>,
document.getElementById("root"))
Run Code Online (Sandbox Code Playgroud)
第一个App.js:
import React, {useEffect, useState} from 'react';
import {useDispatch, useSelector} from "react-redux";
import {addNumberAction} from "../redux/addNumber";
export default function App() {
const {number} = useSelector(state=>state.testPage)
const dispatch = useDispatch();
let changeNumber = number
return (
<>
<h1>First</h1>
<button onClick={()=>dispatch(addNumberAction(++changeNumber))}>{number}</button>
</>
)
}
Run Code Online (Sandbox Code Playgroud)
第二个提供(index.js):
import React from 'react';
import ReactDOM from 'react-dom'
import App from "./App";
import {Provider} from "react-redux";
import store from "../redux/store";
ReactDOM.render(
<Provider store={store}>
<App/>
</Provider>,
document.getElementById("root2")
)
Run Code Online (Sandbox Code Playgroud)
第二个App.js:
import React, {useEffect} from 'react';
import {useDispatch, useSelector} from "react-redux";
import {addNumber, addNumberAction} from "../redux/addNumber";
export default function App() {
const {number} = useSelector(state=>state.testPage)
const dispatch = useDispatch();
let changeNumber = number
return (
<>
<h1>Second</h1>
<button onClick={()=>dispatch(addNumberAction(++changeNumber))}>{number}</button>
</>
)
}
Run Code Online (Sandbox Code Playgroud)
他们不是同一家店。每次使用<Provider store={store}>它时,基本上都会为其中的任何组件创建一个存储。调用两个<Provider store={store}>将创建 2 个独立的商店。