【问题标题】:How to make on redux store for two windows in Electron如何在Electron中为两个窗口制作redux store
【发布时间】:2021-02-12 21:37:36
【问题描述】:

我用 react 制作了两个不同的窗口并提供相同的商店。但是,如果我在一个窗口中更改存储数据,则第二个窗口不会更改。并且 idk 知道如何同步。(所有 Reducers 和 Actions 都在默认 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"))

第一个 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>
        </>
    )
}

第二次提供(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")
)

第二个 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>
        </>
    )
}

【问题讨论】:

    标签: javascript reactjs redux react-redux electron


    【解决方案1】:

    他们不是同一家商店。每次您使用&lt;Provider store={store}&gt; 时,它基本上都会为其中的任何组件创建一个存储。调用两个&lt;Provider store={store}&gt;会创建2个独立的store。

    【讨论】:

    • 我如何将一个提供者用于两个窗口?
    • @verbtobe 你可能可以使用图书馆 electron-redux
    • 我知道,但我以前从未使用过 Electron。我想找到连接 redux 和 2 个反应窗口的 sn-p
    猜你喜欢
    • 2020-08-25
    • 1970-01-01
    • 2020-06-22
    • 1970-01-01
    • 2019-07-28
    • 2021-06-30
    • 2019-05-01
    • 2018-08-20
    • 2021-11-01
    相关资源
    最近更新 更多