Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 用redux响应预加载程序图标_Reactjs_React Redux - Fatal编程技术网

Reactjs 用redux响应预加载程序图标

Reactjs 用redux响应预加载程序图标,reactjs,react-redux,Reactjs,React Redux,我是react/redux新手,尝试将此预加载程序库与react/redux一起使用: 尝试使用浏览器控制台时,我在浏览器控制台中遇到此错误: 未捕获错误:addComponentAsRefTo(…):只有ReactOwner可以有引用。您可能正在向组件的render方法中未创建的组件添加引用,或者您已加载多个副本 我在容器组件Books'渲染方法中使用它 为什么我会犯这个错误 这是什么意思 使用预紧器组件的正确方法是什么 class Books extends React.Componen

我是react/redux新手,尝试将此预加载程序库与react/redux一起使用:

尝试使用浏览器控制台时,我在浏览器控制台中遇到此错误:

未捕获错误:addComponentAsRefTo(…):只有ReactOwner可以有引用。您可能正在向组件的
render
方法中未创建的组件添加引用,或者您已加载多个副本

我在容器组件Books'渲染方法中使用它

  • 为什么我会犯这个错误
  • 这是什么意思
  • 使用预紧器组件的正确方法是什么

    class Books extends React.Component {
    
      constructor(props, context) {
        super(props, context);
        this.redirectToAddBookPage = this.redirectToAddBookPage.bind(this);
      }
    
      createBookRow(book, index) {
        return <div key={index}>{ book.title }</div>;
      }
    
      redirectToAddBookPage() {
        browserHistory.push('/book');
      }
    
      render() {
        const {books} = this.props;
        return (
          <div>
            <h1>Books</h1>
            <input type="submit"
                   value="Add new book"
                   className="btn btn-primary"
                   onClick={this.redirectToAddBookPage}/>
    
            <PreloaderIcon
              type={ICON_TYPE.OVAL}
              size={32}
              strokeWidth={3}
              strokeColor="#F0AD4E"
              duration={800}
            />
    
            <BookList books={books}/>
          </div>
        );
      }
    
    }
    
    Books.propTypes = {
      books: PropTypes.array.isRequired,
    };
    
    function mapStateToProps(state, ownProps) {
      return {
        books: state.books
      };
    }
    
    export default connect(mapStateToProps)(Books);
    
    类库扩展了React.Component{
    构造函数(道具、上下文){
    超级(道具、背景);
    this.redirectToAddBookPage=this.redirectToAddBookPage.bind(this);
    }
    createBookRow(书本,索引){
    返回{book.title};
    }
    重定向到AddBookPage(){
    browserHistory.push('/book');
    }
    render(){
    const{books}=this.props;
    返回(
    书
    );
    }
    }
    Books.propTypes={
    书籍:需要PropTypes.array.isRequired,
    };
    函数mapStateToProps(状态,ownProps){
    返回{
    图书:国家图书
    };
    }
    导出默认连接(MapStateTops)(书籍);
    
如果在渲染方法之外添加ref-an元素,则会出现这种情况。 或者,如果存在多个副本,则可能会发生这种情况。 也许试试跑步吧


rm-rf node_模块和npm安装

我多次加载react,因此状态在react的多个实例之间共享。。。我通过将其添加到我的
webpack.config.js
文件中解决了这个问题,强制应用程序只使用
node\u modules/react
文件夹中的“主”依赖项:

resolve: {
  alias: {
    'react': path.join(__dirname, 'node_modules', 'react')
  }
}
阅读更多