2017-03-26 9 views
1

React-Nativeには新規、RealはデータベースとしてImを使用します。私のすべてのrealmクエリを保持するクラスを作成しようとしていると私は自分のコンポーネントでそれを使用します。 Today.jsQueries.jsは同じフォルダにあります。私は私のToday.jsReact-Nativeでレルムクエリに別のファイルを使用

import Queries from './Queries' 
componentDidMount() { 
    this._isMounted = true; 
    let a = Queries.getAllExpenses(); 
} 

上でこれを持っており、これは私が私のQueries.jsに持っているものです。

import Realm from 'realm' 
let realm = new Realm({ 
schema: 
[ 
    { 
    name: 'Expenses', 
    properties: 
     { 
      id: 'int', 
      value: 'int', 
      category: 'string', 
      description: 'string', 
      date: 'string', 
     } 
    }, 
    { 
    name: 'Categories', 
    properties: 
     { 
      id: 'int', 
      name: 'string', 
     } 
    }, 
] 
}) 

export default class Queries { 
getAllExpenses() { 
    let data = realm.objects('Expenses'); 
    let allExpenses = []; 
    let i=0; 
    for (; i <= data.length; i++) { 
     allExpenses.push(data[i]); 
    } 
    return allExpenses; 
} 
getAllCategories() { 
    return realm.objects('Categories'); 
}; 
} 

Imはエラーが未定義取得( '_Queries2.default.getAllExpensesを()' を評価)関数ではありません 私はこの間違っているのでしょうか?私はあなたの助けに本当にうれしいでしょう。

答えて

1

getAllExpensesメソッドを、クラスのインスタンスではなく、クラスで直接呼び出そうとしているようです。

クラスをインスタンス化するようにエクスポートステートメントを変更するか、クラス定義自体をエクスポートステートメントの上に移動するか、ネームスペースのようにクラスを使用する場合はメソッドをstaticとマークする必要があります。

関連する問題