javascript - 对于每次点击汽车,我需要在浏览器中显示汽车名称

标签 javascript html css reactjs redux

  • 对于每次汽车点击,我需要在浏览器中显示汽车名称。

    • 我想我会在react中使用类似于js的e.target.innerText
    • 但它不起作用。
    • 使用 map 我能够迭代数组。
    • 但我不知道如何实现点击事件。
    • 我是否使用 useState correclty 来设置汽车名称
    • 在下面提供我的代码片段和 sanbox。

    https://codesandbox.io/s/upbeat-ptolemy-su53h

  function App() {
    const [carbrand, setCarBrand] = useState();
    let cars = ["honda", "toyota", "bmw"];
    let eachCarName = cars.map(name => {
      console.log("name--->", name);
      let carDiv = <div>{name}</div>;
      return carDiv;

      //return name;
    });

    console.log("eachCarName--->", eachCarName);
    const eachCarClick = e => {
      console.log("eachCarClick--->", e);
      console.log("eachCarClick e.target.innerText--->", e.target.innerText);
    };

    // const setCarBrand = eachCarName;
    // const carbrand = eachCarName;

    return (
      <div className="App">
        <h1 onClick={eachCarClick(event)}>{eachCarName}</h1>
      </div>

最佳答案

我觉得你对我的示例代码中的 onClick 有一些问题

代码沙盒:https://codesandbox.io/s/elated-field-3wj2x

代码:

import React, { useState } from "react";
import ReactDOM from "react-dom";

import "./styles.css";

function App() {
  const [carbrand, setCarBrand] = useState();
  let cars = ["honda", "toyota", "bmw"];
  let eachCarName = cars.map((name, index) => {
    return (
      <h1 onClick={e => eachCarClick(e)} key={index}>
        {name}
      </h1>
    );
  });

  const eachCarClick = e => {
    setCarBrand(e.target.innerText);
  };

  // const setCarBrand = eachCarName;
  console.log(carbrand);

  return (
    <div className="App">
      <div>{eachCarName}</div>
    </div>
  );
}

const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);

关于javascript - 对于每次点击汽车,我需要在浏览器中显示汽车名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58605541/

相关文章:

javascript - FB.Event.subscribe 不工作

php - 不需要很多页面的侧边菜单

jquery - 如何使用数据表对包含数字和图像的列进行排序

html - 使用 :not pseudoclass 定位元素

html - CSS3 中的垂直对齐

javascript - 为什么在成功升级 jQuery 后需要 jquery-migrate-1.4.1.js?

javascript - 将 PHP 变量发送到 JavaScript。 &lt;script&gt; 标签的位置?

javascript - e.preventDefault 不停止表单上的重定向

javascript - 如何在给定浏览器事件的情况下从 Path 转换为 XPath

css - 使用 Jekyll 和 Octopress 部署 CSS