标签: react-redux

React Hooks 在分页中使用 redux 重新渲染太多

我正在尝试过滤我的数据以显示我的减速器并在第一次渲染中工作。但是,当我尝试使用分页更改页面时出现此错误:

× 重新渲染过多。React 限制渲染次数以防止无限循环 dispatch(GetFilteredData());

当我检查控制台时,我得到了 的无限循环console.log(data2),但我不知道为什么会这样。

这是我的派遣工作 PaisBody.js

import React, { useState, useEffect } from 'react';
import {useSelector,useDispatch} from 'react-redux';
import TablePagination from 'Layout/Table/TablePagination';
import {InsertPageCount,InsertData,GetFilteredData} from 'Redux/Actions/Pagination';
import GetApi from 'Url/index';
import {createStore} from 'redux';
import {Provider} from 'react-redux';
import allReducers from 'Redux/Reducers/Pagination';
import {TableFilter} from 'Layout/Table/TableFilter';



const PaisBody = (props) => {

  const dispatch = useDispatch();
  dispatch(InsertData(props.data));
  dispatch(InsertPageCount(props.data.length));

  dispatch(GetFilteredData());

  const CurrentPage = useSelector(state => state.CurrentPage.page);
  const data2 = useSelector(state => state.CurrentPage.filteredData);

  console.log(data2);



  return (
    <div> …
Run Code Online (Sandbox Code Playgroud)

reactjs redux react-redux react-hooks

0
推荐指数
1
解决办法
2087
查看次数

如何更改 React Js 中的 Props 值?

以下是下面的代码,现在我想在同一个组件中更改 name 的值?我如何实现这一目标?

render(){
return(
<div>
<p>{this.props.name}</p>
</div>
)
}
Run Code Online (Sandbox Code Playgroud)

setstate reactjs react-redux react-props

0
推荐指数
1
解决办法
8796
查看次数

使用 React Hooks 和 Redux 重新渲染太多

我有一个显示卡片列表的组件。我正在尝试对表格行进行排序,但遇到了一些问题。当我转到页面时,出现以下错误:

错误:重新渲染过多。React 限制渲染次数以防止无限循环。

它指向这条线

setData(_.sortBy(filteredData.reverse()));
Run Code Online (Sandbox Code Playgroud)

这是我的完整组件代码。任何人都可以看到我正在尝试做的事情有问题吗?

import React, { useState } from "react";
import Search from "./Search";
import TimeAgo from "react-timeago";
import { useSelector, useDispatch, connect } from "react-redux";
import { Table } from "semantic-ui-react";
import { searchChange } from "../reducers/searchReducer";
import _ from "lodash";
// import { useField } from "../hooks";

const searchCards = ({ baseball, search }) => {
  return search
    ? baseball.filter(a =>
        a.title[0].toLowerCase().includes(search.toLowerCase())
      )
    : baseball;
};

const Cards = props => {
  const [column, setColumn] …
Run Code Online (Sandbox Code Playgroud)

javascript lodash reactjs react-redux

0
推荐指数
1
解决办法
1393
查看次数

如何使用 React 和 Redux 进行搜索自动完成?

我有一个名为的组件Home,它看起来像:

  render () {
    const clips = ObjectPath.get(this.props, 'search.data.clips.results', [])

    return (
      <div className='search__container right-content-wrapper'>
        <SearchInput
          value={this.props.autocomplete.query.q}
          placeholder='Search all the Vidys'
          status={this.props.autocomplete.status}
          hints={this.props.autocomplete.data}
          onType={this.props.onAutocomplete}
          onSubmit={this.props.onSearch}
        />

        <SearchResults
          results={clips}
          location={this.props.location}
          status={this.props.search.status}
        />
      </div>
    )
  }
Run Code Online (Sandbox Code Playgroud)

我的SearchInput样子:

  render () {
    const { value, hints, status } = this.props
    const hasResults = hints.length
    const areResultsVisible = hasResults && !this.state.hideAutocompleteResults && this.state.hasFocus

    return (
      <div className= {`search-input__component ${status}`}>

        {this.props.showLogo && (
          <a href="javascript:void(0);" className="logo-on-search"></a>
        )}

        <div className='input'>
          <input
            type='text'
            className='input-field' …
Run Code Online (Sandbox Code Playgroud)

reactjs react-redux

-1
推荐指数
1
解决办法
2864
查看次数

如何在componentWillReceiveProps事件中解决未定义的nextProps?

我在组件中注册了componentWillReceiveProps事件.正如在文档中所解释的那样,我在生命周期的更新阶段期间在此事件中监听nextProps.

但记录nextProps的值返回undefined - "Chart.js?5478:88 Uncaught TypeError: Cannot read property 'dashboards' of undefined"

如果我赋值,this.props.dashboards我可以看到数据存在.但价值观并不是最新的.这就是我倾听的原因nextProps.dashboards.

题:

为什么componentWillReceiveProps中的nextProps参数返回undefined?

这是Chart.js文件的要点,我在其中监听仪表板和currentDashboard道具的更新:

import React, { Component } from 'react';
import { connect } from 'react-redux';    
import Spinning from 'grommet/components/icons/Spinning';
import Heading from 'grommet/components/Heading';
import drawing from '../chartLib/';



 class Chart extends Component {
    constructor (props) {
        super(props);
        this.state = {data: [], loading: true};
    }


    componentWillReceiveProps ({ blockName, subcatName, nextProps }) {

        if(nextProps.dashboards)  //this check for nextProps.dashboards returns: "Chart.js?5478:88 Uncaught TypeError: Cannot …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-redux

-1
推荐指数
1
解决办法
2958
查看次数

想了解更多关于道具和状态的信息

我尝试阅读有关 JS 和 React 的书籍和视频,但我仍然对 React-Props & States 没有更好的理解。有人可以详细解释我。

javascript reactjs react-redux

-1
推荐指数
1
解决办法
249
查看次数

如何将参数传递到自定义 Redux 中间件?

我想将参数传递到自定义 Redux 中间件中。但我不知道如何在自定义中间件中使用参数。

例子:

import { createStore, applyMiddleware } from 'redux';
import reducers from './reducers';

const customMiddleWare = store => next => action => {
  // how to use argument here?
};

const middlewares = [customMiddleWare(argument)];

const store = createStore(
  reducers,
  applyMiddleware(...middlewares)
);
Run Code Online (Sandbox Code Playgroud)

javascript reactjs redux react-redux redux-middleware

-1
推荐指数
1
解决办法
1344
查看次数

使用Redux更好的方法启动数据

您好,我正在尝试redux从给定的数据中获取存储的初始数据api

这是我使用的第一种方法store.dispatch

import { createStore, applyMiddleware, compose } from "redux";
import thunk from "redux-thunk";
import reducer from "./reducer";
import { fetchNews } from "./actions";

const store = createStore(
    reducer,
    compose(
        applyMiddleware(thunk),
        window.__REDUX_DEVTOOLS_EXTENSION__ &&
            window.__REDUX_DEVTOOLS_EXTENSION__()
    )
);

store.dispatch(fetchNews());

export default store;
Run Code Online (Sandbox Code Playgroud)

第二种方法是从组件生命周期方法分派操作,如下所示:

import React from "react";
import axios from "axios";
import InfiniteScroll from "react-infinite-scroller";
import { useSelector, useDispatch } from "react-redux";
import New from "./New";
import { fetchNews } from "../store/actions";

const Main = () …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs redux redux-thunk react-redux

-1
推荐指数
1
解决办法
54
查看次数

如何在 React.js 中使用 store.subscribe?

我正在使用 React-redux,在这里我编写了一个演示: 演示 ,我的问题是我需要在收到状态更改后执行一些操作,例如刷新页面。但我不知道如何订阅商店的状态变化。

谁能帮我?

reactjs redux react-redux

-1
推荐指数
1
解决办法
4224
查看次数

使用不同参数导航到同一屏幕 - ReactNavigation : React Native

我一直在尝试在反应本机应用程序上导航到具有不同参数的同一屏幕。这是一个类别屏幕,我不希望用户返回并选择不同的类别来查看产品。我制作了一个屏幕,显示类别中的产品。

下面是我的代码:

  <View style={styles.horizontalSlider}>
         <FlatList
               horizontal
               showsHorizontalScrollIndicator={false}
               data={this.state.DataSource}
               keyExtractor={(item, index) => index.toString()} 
               extraData={this.state.selectedItem}
               renderItem= { ({item}) => (
                <TouchableOpacity onPress={(category) => navigate.push('CategoryScreen', {item})}>
                <ImageBackground style={styles.profileImgContainer} >
                <Image source={{ uri: item.images }} style={[styles.profileImg, , { borderColor: 'green', borderWidth:2 }]} />  
                </ImageBackground>
                </TouchableOpacity>
               )}
               />
            </View>
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

reactjs react-router react-native react-redux

-2
推荐指数
1
解决办法
4163
查看次数

为什么我收到此javascript错误?

我没有在附近完成,但当我尝试npm开始这个项目我得到错误:

 Unexpected token, expected ;

  2 |
  3 |
> 4 | const App = fucntion() {
    |                        ^
  5 |   return <div>HI!</div>;
  6 | }
  7 |
Run Code Online (Sandbox Code Playgroud)

这是index.js的完整文件:

import React from 'react';


const App = fucntion() {
  return <div>HI!</div>;
}



//shove into dom (page)
React.render(App);
Run Code Online (Sandbox Code Playgroud)

javascript node.js reactjs redux react-redux

-4
推荐指数
1
解决办法
35
查看次数

什么是存储,调度,有效负载,类型,操作,连接,thunk,reducer在react redux?

什么是存储,调度,有效负载,类型,动作,连接,thunk,reducer in react redux ??

import { createStore, applyMiddleware } from 'redux'
import thunk from 'redux-thunk'
const createStoreWithMiddleware = applyMiddleware(thunk)(createStore)
const store = createStoreWithMiddleware(reducer)
ReactDOM.render(
 <MuiThemeProvider muiTheme={muiTheme}>
   <Provider store={store}>
       <Router history={ browserHistory }>
         <Route path="/" component={ Content }/>
         <Route path="/filter" component={ Filter }/>
         <Route path="/details" component={ Details }/>
       </Router>
   </Provider>
 </MuiThemeProvider>,
   document.getElementById('root')
)
Run Code Online (Sandbox Code Playgroud)

reactjs react-redux

-5
推荐指数
1
解决办法
1096
查看次数