React.js Essential Notes

https://create-react-app.dev/

node -v
npm -v
npx create-react-app react-essentials
cd .\react-essentials
npm start

也可以在线编辑:
网址react.new 跳转到codesandbox

Remember, a component is a function that returns UI.

const dishes = ["Macaroni and Cheese", "Salmon", "Tofu with vegetables"];
const dishObject = dishes.map((dish, i) => ({ id: i, title: dish })); 
// =>()加括号的函数体返回对象字面量表达式

Checkbox useReducer Testing

// Checkbox.js
import { useReducer } from "react/cjs/react.development";

export function Checkbox() {
  const [checked, toggle] = useReducer((checked) => !checked, false);

  return (
    <>
      <label for="checkbox">{checked ? "checked" : "not checked"} </label>
      <input id="checkbox" type="checkbox" value={checked} onChange={toggle} />
    </>
  );
}

// Checkbox.test.js
import { React } from "react";
import { render, fireEvent } from "@testing-library/react";
import { Checkbox } from "./Checkbox";

test("Selecting checkbox", () => {
  const { getByLabelText } = render(<Checkbox />);
  const checkbox = getByLabelText(/not checked/);
  fireEvent.click(checkbox);
  expect(checkbox.checked).toEqual(true);
});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值