Передача состояния redux и реквизита другому компоненту с помощью маршрутизатора react

#reactjs #redux #react-router #react-router-dom

#reactjs #redux #react-маршрутизатор #react-router-dom

Вопрос:

Я работаю над сценарием, в котором я хочу открыть определенный URL-адрес на новой вкладке, когда пользователь нажимает на определенную кнопку. Я использовал window.open(«/ItemPage», ‘_blank’); для открытия новой вкладки. но я не могу передавать данные конкретному компоненту через маршрутизатор react.

 import React from 'react';
import { Router, Route, Switch } from 'react-router-dom';
import Home from './Home';
import ItemPageComponent from './ItemPageComponent';
import history from '../history';
import { connect, Provider } from 'react-redux';

class RouterComponent extends React.Component {

    render() {
        console.log("CCTV cameraInfoFrame:: "   this.props.item.name);

        return (
            <div>
                <Router history={history}>
                    <div>
                        <Switch>
                            <Route exact
                                path="/"
                                component={Home}
                            />
                            <Route exact
                                path="/itemPage"
                                    component={<ItemPageComponent data={ this.props.item} />}
                            />
                        </Switch>
                    </div>
                </Router>
            </div>
        );
    }
}

const mapStateToProps = (state) => ({
    item: state.PopoutReducer.itemDetailsState
});

const RouterContainer = connect(
    mapStateToProps,
)(RouterComponent);

export default RouterContainer;
  

Кто-нибудь может мне помочь в этом?

Заранее спасибо.

Комментарии:

1. Откуда передаются реквизиты RouterComponent ?

2. И сколько » много » данных вы хотите передать? например, одна строка name или подобный объект item ?

3. @GabrielePetrioli Я обновил полный фрагмент кода.

4. Я хочу передать объект item. всякий раз, когда я передаю строковое значение, я могу прочитать его в другом компоненте. но я хочу передать объект item.