私は2つのファイル:User.js
とLogin.js
を持っています。ログインが成功した後、私はユーザークラスの静的logIn
メソッドを呼び出したいと思います。私には奇妙な行動があります。私は間違って何をしていますか?1つのes6モジュールでクラスを作成し、それを別のモジュールにインポートする方法は?
ファイルの内容User.js:
// user/User.js
// I also tried export default class User
export class User {
static logIn (token) {
}
static logOut (token) {
}
static isAuthorized() {
}
}
そしてLogin.js:
// login/Login.js
import React from 'react';
import GoogleLogin from 'react-google-login';
// I also tried import User from './../user/User';
// I also tried import {User} from './../user/User';
import * as User from './../user/User';
class Login extends React.Component {
constructor (props, context) {
super(props, context);
}
responseSuccess (googleUser) {
const idToken = googleUser.getAuthResponse().id_token;
User.logIn(idToken);
}
///
}
export default Login;
私はインポートを使用して、私はこの動作を取得するこの方法をエクスポート:
ので、ユーザーは、オブジェクトでありますプロパティはUser
です。このプロパティには、Userクラスのすべてのメソッドが含まれます。
私はUser
オブジェクトでユーザークラスメソッドを取得するので、何らかの形でエクスポート/インポートすることはできますか?
メソッドを使用する方法は1つだけです:User.User.logIn()
。
からより多くのエクスポート値を持っていけませんオブジェクトをエクスポートし、そのオブジェクトを "としてエクスポートします。クラスがデフォルトのエクスポートであるため、インポートステートメントを './../user/User'からインポートするようにimport文を変更するだけで動作するはずです –
はい、論理的な説明です。わかっている。それがうまくいかない問題...私は './../user/user''から' import user 'を試してみましたが、そこにバリアントの一つを追加しました。 –
例とスクリーンショットは異なるコードを示しています。 – zeroflagL