代码之家  ›  专栏  ›  技术社区  ›  151291

TypeError:员工。查找不是meteor withTracker的函数

  •  0
  • 151291  · 技术社区  · 6 年前

    首先使用createContainer订阅数据,但它引发了一个名为:

    Uncaught TypeError: CreateContainer is not a function 
    
    react-meteor-data: React higher-order component for reactively tracking Meteor data 
    
    Warning - createContainer was deprecated in react-meteor-data@0.2.13. Use withTracker instead 
    

    然后更改为withTracker,但出现错误:

    Uncaught TypeError: Employees.find is not a function
    

    Employee\u列表。js公司

    import React from 'react';
    import Employees from '../../imports/collections/employees';
    import { withTracker } from 'meteor/react-meteor-data';
    
    const EmployeeList = (props) => {
        console.log(props);
        return(
            <div>
                <div className = "employee-list">
                    Employee list
                </div>
            </div>
        )
    }
    
    export default withTracker ( () => {
    
        const handle = Meteor.subscribe('employees');
        //return { employeesd: Employees.find({}).fetch() };
        return {
            listLoading: !handle.ready(),
            tasks: Employees.find({}).fetch(),
          };
    })( EmployeeList );
    

    员工是我的mongodb集合

    员工。js公司

    import { Mongo } from 'meteor/mongo';    
    export const Employees = new Mongo.Collection('employees');
    
    1 回复  |  直到 6 年前
        1
  •  2
  •   Tomasz Mularczyk    6 年前

    使用命名导出:

    export const Employees = new Mongo.Collection('employees');
    

    但请尝试使用默认导出:

    import Employees from '../../imports/collections/employees';
    

    修复:

    import { Employees } from '../../imports/collections/employees';
    

    const Employees = new Mongo.Collection('employees');
    export default Employees;