亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 React 類組件中未定義我的變量

在 React 類組件中未定義我的變量

慕村225694 2022-11-27 16:18:02
我的變量是未定義的,沒有一個,為什么不呢?我定義錯了什么?我需要更改整個方法還是可以根據我寫的內容修復一些問題?我只把相關的部分放在這里謝謝!地址室.jsimport React, { Component } from 'react'export default class Addroom extends Component {    constructor(props) {                super(props)        this.state = {            category,            setCategory,            roomTypes:[kitchen, bathroom, bedroom],            yourRoom        }}        getSelectedRoomInCategory = () => {            return roomTypes.filter(              (yourRoom) => yourRoom.category === category            );          };      render() {        return (            <div>                <h1>Select Room Type!</h1>                 <select onChange={(e) => setCategory(e.target.value)}>                <option value={kitchen}>{kitchen}</option>                <option value={bathroom}>{bathroom}</option>                <option value={bedroom}>{bedroom}</option>                </select>            </div>        )    }}
查看完整描述

3 回答

?
呼啦一陣風

TA貢獻1802條經驗 獲得超6個贊

好像:

  • 你在那里缺少一些進口產品(廚房、浴室、臥室);

  • 不必要地覆蓋構造函數來設置初始狀態;

  • 錯誤引用 setCategory(解構 this.state 或將其完全引用為:this.state.setCategory);

  • 沒有將 state.setCategory 設置為任何有效值(這甚至應該屬于狀態還是應該從道具傳遞下來?如果是這樣,請不要復制到狀態);

  • 沒有將 state.category 設置為任何有效值(如上所述)

  • 可能缺少對選擇的值綁定;


查看完整回答
反對 回復 2022-11-27
?
揚帆大魚

TA貢獻1799條經驗 獲得超9個贊

再見,您的代碼中有一些錯誤。讓我們嘗試像這樣重寫組件:


import React, { Component } from 'react'


export default class Addroom extends Component {


constructor(props) {

    

    super(props)

    this.state = {

        roomTypes:["kitchen", "bathroom", "bedroom"],

        roomSelected: ''

    }}


 setCategory = (roomSel) => {

     this.setState({roomSelected : roomSel});

 };



render() {

    return (

        <div>

            <h1>Select Room Type!</h1> 


            <select onChange={(e) => setCategory(e.target.value)}>

               this.state.roomTypes.map(type => {

                  <option value={type}>{type}</option>

               })

      

            </select>

        </div>

    )

}

}

現在您已經在 中選擇了房間this.state.roomSelected。


查看完整回答
反對 回復 2022-11-27
?
PIPIONE

TA貢獻1829條經驗 獲得超9個贊

現在它的作品很完美,所有相關variables的都被導入和識別。我使用了一種稍微不同的方法,使用下面的方法稍作改動。


我在函數的寫入function和調用之間建立了聯系,return并正確定義了variablesin 狀態,所以現在所有相關variables的都被導入和識別,一切正常。謝謝你們!



import React, { Component } from 'react'


export default class Addroom extends Component {


    constructor(props) {

        

        super(props)

        this.state = {

          

            roomTypes:["kitchen", "bathroom", "bedroom"],

            roomSelected: '',

            roomSel:''

    


        }}


    setCategory = (roomSel) => {

        this.setState({roomSelected : roomSel});

    };


    render() {

        return (

            <div>


            <h4>Select Room Type</h4>

            <select onChange={(e) => this.setCategory(e.target.value)}>

               {this.state.roomTypes.map((type) => 

                  <option value={type}>{type}</option>

               )}

      

            </select><br/>

            </div>

        )

    }


}


查看完整回答
反對 回復 2022-11-27
  • 3 回答
  • 0 關注
  • 182 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號