2017-11-22 11 views
0

他のモジュールで呼び出される関数のモジュールを作成しようとしています。ちょうど、ReactはAxios.get()のようなどこでも実行します。私はFluxについて知り、メソッドを小道具として渡します。しかし、この場合には、私はそれをしたいすべてがこのようなものです:React from another moduleでモジュールのメソッドにアクセスするにはどうすればよいですか?

var module1 = class module1 extends React.Component{ 
    render() { 
     function module1Method(){ 
      console.log("Im from Module1"); 
     } 
     return (
     <div/> 
    ); 
    } 
} 
export default module1; 

/////////////////////////////////////// in another file 

import module1 from "./module1"; 
var module2 = class module2 extends React.Component{ 
    render() { 
     module1.module1Method(); 
     return (
      <div/> 
     ); 
    } 
} 
export default module2; 

誰かが私が欠けているものを教えてくださいことはできますか? Module2はModule1を正常に見ているようですが、その上のメソッドにアクセスすることはできません。助けてくれてありがとう!

+0

あなたの関数がレンダリングメソッドの中で宣言されている場合は、レンダリングメソッドと並んで配置する必要があります。 –

+0

こんにちはありがとうハビエル。私もrender()と一緒にそれを宣言しようとしていますが、Imはまだ同じ結果を得ています。私は何か別のものを輸出しなければなりませんか? – nickg

+0

これは、スタンドアロンのエクスポート関数ではなく、クラス内にあります。 – aqwert

答えて

1

この目的のためにReact.Componentは必要ありません。

// ModuleOne.js 
export function square(x) { 
    return x * x; 
} 
export function hello() { 
    return "Hello!"; 
} 

// Another File 
import {square, hello} from "ModuleOne"; 
var module2 = class module2 extends React.Component{ 
    render() { 
     var someNumber = square(1,2); 
     var someMessage = hello(); 
     return (
      <div/> 
     ); 
    } 
} 
export default module2; 
+0

よろしくお願いします。それがそれでした。前と同じようなことをしようとしていましたが、 "ModuleOne"のimport {square、hello}に{}を使用していませんでした。 – nickg

関連する問題