ログインコンポーネントからホームページコンポーネントにユーザー名を渡す

ヴィンセントグエン

このようなログインページコンポーネントがある場合...

class Login extends Component {
    constructor(props) {

        super(props);
        this.state = {
            username: ""
        };

ホームページでそのユーザー名にアクセスして、フェッチを通じてユーザー固有の情報を表示したいのですが、どうすればよいですか?

class AccountItem extends Component {

    constructor(props) {
        super(props);
        this.state = {
            username : // How to get the same field as Login username here?
        };
    }
ケネス・チュオン

これを処理する最善の方法は、React 16.3を使用している場合、React.createContextを使用する、アプリレベルで状態を更新するか、Reduxなどの状態管理システムを使用して現在のユーザー名を追跡することです。

状態管理がない場合に使用することを強くお勧めするReact.createContextの

// This is where you have your routes etc.
import * as React from 'react';

const UsernameContext = React.createContext('');

class App extends Component {

  constructor(props) {
    super(props);
    this.state = { username: '' };
  }

  onUsernameChange = (username) => {
    this.setState({ 
      username: username
    });
  }

  render() {
    <UsernameContext.Provider value={this.state.username}>
      <Switch>
        <Route exact path="/" render={Home} />
        <Route path="/login" render={()=><LoginPage onUsernameChange={this.onUsernameChange}/>
      </Switch>
    </UsernameContext.Provider>
  }
}


class Login extends Component {
  constructor(props) {

    super(props);
    this.state = {
      username: ""
    };
  }

  onSubmit = () => {
    // This is pseudo code so you want to handle login somewhere
    // when that is done you can call your onUsernameChange
    this.props.onUsernameChange(this.state.username);
  };

  ...
}


class AccountItem extends Component {

  render() {
    return (
      <UsernameContext.Consumer>
        {(username) => { 
          // you have username in props
        }}
      </UsernameContext.Consumer>
   )
 }

以下は、ReduxまたはReact.createContextを使用しない簡単な例です。

// This is where you have your routes etc.
class App extends Component {

  constructor(props) {
    super(props);
    this.state = { username: '' };
  }

  onUsernameChange = (username) => {
    this.setState({ 
      username: username
    });
  }

  render() {
    <Switch>
      <Route path="/login" render={()=><LoginPage onUsernameChange={this.onUsernameChange}/>
      <Route path="/account" render={() => <AccountItem username={this.state.username} />} />
    </Switch>
  }
}


class Login extends Component {
  constructor(props) {

    super(props);
    this.state = {
      username: ""
    };
  }

  onSubmit = () => {
    // This is pseudo code so you want to handle login somewhere
    // when that is done you can call your onUsernameChange
    this.props.onUsernameChange(this.state.username);
  };

  ...
}


class AccountItem extends Component {

  render() {
    this.props.username // you have username in props

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ログインコンポーネントからホームコンポーネントにEmaiIDとパスワードを渡す必要があります

分類Dev

ページからNextjsのコンポーネントに小道具を渡す

分類Dev

子コンポーネントから親コンポーネントにイベントを渡すAngular 5

分類Dev

あるコンポーネントから他のコンポーネントにイベントを渡す

分類Dev

ReactNative-ログインしたFirebaseユーザーをホームコンポーネントにリダイレクトします

分類Dev

子コンポーネントがサインアップに成功したら、親コンポーネントをホームページにルーティングするにはどうすればよいですか?

分類Dev

ホームページからフローを開始した場合にのみコンポーネントがレンダリングされる

分類Dev

NativeScript - 親コンポーネントから子コンポーネントにコンテンツを渡す

分類Dev

ダイアログボックスビューで親コンポーネントから子コンポーネントに小道具を渡す

分類Dev

Vueコンポーネントに現在ログインしているユーザーのユーザーオブジェクトを取得する方法

分類Dev

コンポーネントから別のコンポーネントにデータを渡す方法

分類Dev

VueJS、コンポーネントから別のコンポーネントにデータを渡す

分類Dev

子コンポーネントから子コンポーネントにデータを渡す Vuejs 2

分類Dev

ReactNative-コンポーネントから別のコンポーネントにデータを渡す

分類Dev

ホームコンポーネントとログインコンポーネントに同じURLを保持するVueJs認証

分類Dev

コンポーネントからReduxフォームに値を渡す方法

分類Dev

ユーザーオブジェクトをコンポーネントモーダルに渡す

分類Dev

コンポーネントからコントローラーにデータを渡す方法は?

分類Dev

子から親コンポーネントに値を渡す

分類Dev

Angular:コンポーネントをコンポーネントに渡す

分類Dev

vueコンポーネントを子コンポーネントに渡す

分類Dev

vue jsのログインコンポーネントからユーザーの状態を更新するにはどうすればよいですか?

分類Dev

子コンポーネントからデータを渡す

分類Dev

あるコンポーネントをモジュールから別のモジュールのコンポーネントにインポートする

分類Dev

ログインページreactJSでヘッダーコンポーネントを非表示にする方法

分類Dev

AngularDartは、あるコンポーネントから別のコンポーネントにトグルイベントを渡します

分類Dev

Reactでコンポーネントからコンポーネントに参照を渡す

分類Dev

親コンポーネントから子コンポーネントに値を渡す方法(react)

分類Dev

vuejsの親コンポーネントから子コンポーネントにメソッドを渡す

Related 関連記事

  1. 1

    ログインコンポーネントからホームコンポーネントにEmaiIDとパスワードを渡す必要があります

  2. 2

    ページからNextjsのコンポーネントに小道具を渡す

  3. 3

    子コンポーネントから親コンポーネントにイベントを渡すAngular 5

  4. 4

    あるコンポーネントから他のコンポーネントにイベントを渡す

  5. 5

    ReactNative-ログインしたFirebaseユーザーをホームコンポーネントにリダイレクトします

  6. 6

    子コンポーネントがサインアップに成功したら、親コンポーネントをホームページにルーティングするにはどうすればよいですか?

  7. 7

    ホームページからフローを開始した場合にのみコンポーネントがレンダリングされる

  8. 8

    NativeScript - 親コンポーネントから子コンポーネントにコンテンツを渡す

  9. 9

    ダイアログボックスビューで親コンポーネントから子コンポーネントに小道具を渡す

  10. 10

    Vueコンポーネントに現在ログインしているユーザーのユーザーオブジェクトを取得する方法

  11. 11

    コンポーネントから別のコンポーネントにデータを渡す方法

  12. 12

    VueJS、コンポーネントから別のコンポーネントにデータを渡す

  13. 13

    子コンポーネントから子コンポーネントにデータを渡す Vuejs 2

  14. 14

    ReactNative-コンポーネントから別のコンポーネントにデータを渡す

  15. 15

    ホームコンポーネントとログインコンポーネントに同じURLを保持するVueJs認証

  16. 16

    コンポーネントからReduxフォームに値を渡す方法

  17. 17

    ユーザーオブジェクトをコンポーネントモーダルに渡す

  18. 18

    コンポーネントからコントローラーにデータを渡す方法は?

  19. 19

    子から親コンポーネントに値を渡す

  20. 20

    Angular:コンポーネントをコンポーネントに渡す

  21. 21

    vueコンポーネントを子コンポーネントに渡す

  22. 22

    vue jsのログインコンポーネントからユーザーの状態を更新するにはどうすればよいですか?

  23. 23

    子コンポーネントからデータを渡す

  24. 24

    あるコンポーネントをモジュールから別のモジュールのコンポーネントにインポートする

  25. 25

    ログインページreactJSでヘッダーコンポーネントを非表示にする方法

  26. 26

    AngularDartは、あるコンポーネントから別のコンポーネントにトグルイベントを渡します

  27. 27

    Reactでコンポーネントからコンポーネントに参照を渡す

  28. 28

    親コンポーネントから子コンポーネントに値を渡す方法(react)

  29. 29

    vuejsの親コンポーネントから子コンポーネントにメソッドを渡す

ホットタグ

アーカイブ