Reactjs 如何使用来自state的选项呈现下拉列表

Reactjs 如何使用来自state的选项呈现下拉列表,reactjs,Reactjs,我想显示一个动态下拉列表,但我对如何显示有点困惑 我希望通过我的用户进行迭代,如: users.map((user) => { } 我是否必须创建另一个函数来执行此操作,还是可以在单个函数中完成所有操作 _renderDropdown() { const { users } = this.props; return ( <select name="userDdl" onChange={::this._onSelectedUserChange}>

我想显示一个动态下拉列表,但我对如何显示有点困惑

我希望通过我的用户进行迭代,如:

users.map((user) => {
}
我是否必须创建另一个函数来执行此操作,还是可以在单个函数中完成所有操作

_renderDropdown() {
   const { users } = this.props;

   return (
      <select name="userDdl" onChange={::this._onSelectedUserChange}>
      </select>
   );

}

_onSelectedUserChange(e) {
   console.log('user selected change called...');
}
\u renderDropdown(){
const{users}=this.props;
返回(
);
}
_选择更改(e){
log('user selected change called…');
}

您可以执行以下操作:

<select name="userDdl" onChange={::this._onSelectedUserChange}>
 {users.map(user => (
  <option key={user.id} value={user.id}>{user.name}</option>
 ))}
</select>

{users.map(user=>(
{user.name}
))}

您可以执行以下操作:

<select name="userDdl" onChange={::this._onSelectedUserChange}>
 {users.map(user => (
  <option key={user.id} value={user.id}>{user.name}</option>
 ))}
</select>

{users.map(user=>(
{user.name}
))}

您可以选择将逻辑放置在何处。要根据用户呈现选项,可以执行以下操作:

{
 users.map((user, index) => {
  return (
    <option key={index}>{user.value}</option>
  )
 })
}
{
users.map((用户,索引)=>{
返回(
{user.value}
)
})
}

您可以选择将逻辑放置在何处。要根据用户呈现选项,可以执行以下操作:

{
 users.map((user, index) => {
  return (
    <option key={index}>{user.value}</option>
  )
 })
}
{
users.map((用户,索引)=>{
返回(
{user.value}
)
})
}

下面是一个简单的例子:

import React from "react";
import ReactDOM from "react-dom";

class App extends React.Component {
  state = {
    users: ["Elon", "Steve", "Bill"]
  };

  renderOptions() {
    return this.state.users.map(u => {
      return <option value={u}>{u}</option>;
    });
  }

  render() {
    return <select options>{this.renderOptions()}</select>;
  }
}

const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);
从“React”导入React;
从“react dom”导入react dom;
类应用程序扩展了React.Component{
状态={
用户:[“埃隆”、“史蒂夫”、“比尔”]
};
渲染(){
返回此.state.users.map(u=>{
返回{u};
});
}
render(){
返回{this.renderOptions()};
}
}
const rootElement=document.getElementById(“根”);

ReactDOM.render(.

以下是一个简单的示例:

import React from "react";
import ReactDOM from "react-dom";

class App extends React.Component {
  state = {
    users: ["Elon", "Steve", "Bill"]
  };

  renderOptions() {
    return this.state.users.map(u => {
      return <option value={u}>{u}</option>;
    });
  }

  render() {
    return <select options>{this.renderOptions()}</select>;
  }
}

const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);
从“React”导入React;
从“react dom”导入react dom;
类应用程序扩展了React.Component{
状态={
用户:[“埃隆”、“史蒂夫”、“比尔”]
};
渲染(){
返回此.state.users.map(u=>{
返回{u};
});
}
render(){
返回{this.renderOptions()};
}
}
const rootElement=document.getElementById(“根”);

ReactDOM.render(.

我想在一个函数中组合所有元素,包括选择标记。这可能吗?我想在一个函数中组合所有元素,包括选择标记。这可能吗?现在可以了。现在可以了。