React示例自定义 Devtools

tsx
import { useState } from 'react'

import { createCounter } from './counter'

const counterInstance = createCounter()

export default function App() {
  const [count, setCount] = useState(counterInstance.getCount())

  const increment = () => {
    counterInstance.increment()
    setCount(counterInstance.getCount())
  }

  const decrement = () => {
    counterInstance.decrement()
    setCount(counterInstance.getCount())
  }

  return (
    <div>
      <h1>Custom plugins</h1>
      <h2>Count: {count}</h2>
      <div style={{ display: 'flex', gap: '4px' }}>
        <button onClick={increment}>+ increase</button>
        <button onClick={decrement}>− decrease</button>
      </div>
    </div>
  )
}
import { useState } from 'react'

import { createCounter } from './counter'

const counterInstance = createCounter()

export default function App() {
  const [count, setCount] = useState(counterInstance.getCount())

  const increment = () => {
    counterInstance.increment()
    setCount(counterInstance.getCount())
  }

  const decrement = () => {
    counterInstance.decrement()
    setCount(counterInstance.getCount())
  }

  return (
    <div>
      <h1>Custom plugins</h1>
      <h2>Count: {count}</h2>
      <div style={{ display: 'flex', gap: '4px' }}>
        <button onClick={increment}>+ increase</button>
        <button onClick={decrement}>− decrease</button>
      </div>
    </div>
  )
}
我们的合作伙伴
Code Rabbit
订阅 Bytes

您的每周 JavaScript 资讯。每周一免费发送给超过 10 万开发者。

Bytes

无垃圾邮件。您可以随时取消订阅。

订阅 Bytes

您的每周 JavaScript 资讯。每周一免费发送给超过 10 万开发者。

Bytes

无垃圾邮件。您可以随时取消订阅。