ホームページ >ウェブフロントエンド >フロントエンドQ&A >Reactでアドレス帳を実装する方法

Reactでアドレス帳を実装する方法

藏色散人
藏色散人オリジナル
2022-12-28 10:38:352005ブラウズ

アドレス帳を実装するための React メソッド: 1. アドレス帳データのバッチを作成します; 2. それぞれユーザー リストとイニシャル リストを保持する 2 つの DOM コンテナを左右に準備します; 3. ユーザー リストを生成しますおよびイニシャル リスト; 4. 最初のレター ページの ID をレター リストの値として使用します; 5. 対応する最初のレター ページの ID をメソッドに渡し、次に、scrollIntoView メソッドを通じて対応するアンカー ポイントにジャンプします。 h5.

Reactでアドレス帳を実装する方法

このチュートリアルの動作環境: Windows 10 システム、react18.0.0 バージョン、Dell G3 コンピューター。

React でアドレス帳を実装するにはどうすればよいですか?

アドレス帳効果を実現する反応

事業内容: 反応を使用してアドレス帳に似たページを実装し、クリックするとそのページにジャンプできます。横の最初の文字 対応するユーザー

おおよその効果

Reactでアドレス帳を実装する方法

ステップ

1、最初に偽のデータのバッチを作成します

 const users = [
                [
                {id: 0,  name:"a",imgUrl:white},
                {id: 1,  name:'ahat',imgUrl:sysImg4},
                {id: 2,  name:'aocial',imgUrl:sysImg4},
                {id: 3,  name:'aircle',imgUrl:sysImg4},
              ],
                [
                    {id: 4,  name:"b",imgUrl:white},
                    {id: 5,  name:'bhat',imgUrl:sysImg4},
                    {id: 6,  name:'bocial',imgUrl:sysImg4},
                    {id: 7,  name:'bircle',imgUrl:sysImg4},
                ]
            ,
            [
                {id: 8,  name:"c",imgUrl:white},
                {id: 9,  name:'chat',imgUrl:sysImg4},
                {id: 10,  name:'cocial',imgUrl:sysImg4},
                {id: 11,  name:'circle',imgUrl:sysImg4},
            ]
            ,
            [
                {id: 12,  name:"d",imgUrl:white},
                {id: 13,  name:'dhat',imgUrl:sysImg4},
                {id: 14,  name:'docial',imgUrl:sysImg4},
                {id: 15,  name:'dircle',imgUrl:sysImg4},
            ]
            ,
            [
                {id: 16,  name:"e",imgUrl:white},
                {id: 17,  name:'ehat',imgUrl:sysImg4},
                {id: 18,  name:'eocial',imgUrl:sysImg4},
                {id: 19,  name:'eircle',imgUrl:sysImg4},
            ]
        ];

2 ユーザー リスト ページの生成

1 まず、左右に 2 つの DOM コンテナを準備します。それぞれユーザー リストと頭文字リストをホストするために使用されます

return (
        <div className={this.props.chatShow
                         }>
            <div className={jsPage.chatRight}>
              <div className={jsPage.pointListStyle} id="points">
                  {pointLists}
              </div>
              </div>
            <div className={jsPage.chatLeft+" "+universal.columnStartCenter}>
                {userLists}
            </div>
        </div>
        )

css

.chatRight{
    height: 100%;width: 3%;
    position:fixed;right: 0;
}
.chatLeft{
    height: 100%;width: 95%;
}

2 前の手順で生成したコンテナにデータとイニシャルのリストを使用してユーザー リストを生成します

     //用户列表
        var userLists=new Array();
        //侧栏首字母列表
        var pointLists=new Array();
        //遍历
        for(var i=0;i<users.length;i++){
            //得到每个首字母对应的用户
            var user=users[i];
            //map遍历生成用户信息
            const userList=user.map(
                (number)=>
                    <div className={universal.rowCenter+" "+jsPage.chatSpan}  key={number.id} id={number.name}>
                        <img src={number.imgUrl} className={jsPage.imgStyle2}
                        ></img>
                        <div className={jsPage.chatUserInfo+" "+universal.rowStart}>
                            <div className={jsPage.chatUserInfoSpan+" "+
                            universal.rowCenter+" "+
                            jsPage.fontStyle1}>{number.name}</div>
                            <div className={jsPage.chatUserInfoSpan}></div>
                        </div>
                    </div>
                    )
            //将用户信息放入用户列表
            userLists.push(userList);
            //生成首字母信息
            const point=<div
                            onClick={msg=>this.scrollToAnchor(msg)}
                            className={jsPage.pointStyle}
                             key={user[0].name}
                             >{user[0].name}
                             </div>
            //将首字母信息放入首字母列表
            pointLists.push(point);
        }

3 最初の文字をクリックして、対応するユーザーまでスクロールします

注意してください。 2 番目のステップで画面を生成するとき、重要なステップは次のとおりです。最初の文字を追加します。レター ページの ID が文字リストの値として使用されます。

<div className={universal.rowCenter+" "+jsPage.chatSpan}  key={number.id} id={number.name}>
<div
                            onClick={msg=>this.scrollToAnchor(msg)}
                            className={jsPage.pointStyle}
                             key={user[0].name}
                             >{user[0].name}
                             </div>

このように、最初の文字がクリックすると、対応する最初の文字ページの ID をメソッドに渡すことができ、h5 のscrollIntoView メソッドを使用して、対応するアンカー ポイントにジャンプします。学習: 「

React ビデオ チュートリアル

以上がReactでアドレス帳を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。