p/react:使用 "tag" 语法时无法访问状态

p/react: cannot access state when using "tag" syntax

我正在自学 p/react,我不确定为什么我不能访问组件的状态。

我有一个组件:

const AView = (state,props) => (
  <div>
    <p>{state.a}</p>
    <B />
  </div>
)

class A extends Component {
  constructor() {
    super();
    this.state = { a: 1 };
  }
  render(props,state) {
    return <AView a={state.a}/>
  }
}

const BView = (state,props) => (
  <div>
    <p>{state.b}</p>
  </div>
)

class B extends Component {
  constructor() {
    super();
    this.state = { b: 2 };
  }
  render(props,state) {
    return <BView b={state.b}/>
  }
}

这会呈现具有预期状态 1 的组件 A,但它不会呈现具有 2 状态的组件 B(组件 B 只是使用空 <p> 标签渲染)。

但是,如果我使用替代语法,我可以使用状态 2:

呈现组件 B
class B extends Component {
  ...
  render(props,state) {
    return BView(props,state);
  }
}

我是不是在概念上遗漏了什么,或者只是有一些我不知道的语法?我试过谷歌搜索,但我真的不知道足够多的术语来获得相关的搜索结果。

不确定 Preact。但我会尝试这样修复它:

const AView = (props) => (
  <div>
    <p>{props.text}</p>
    <BView />
  </div>
)

class A extends Component {
  constructor() {
    super();
    this.state = { a: 1 };
  }
  render() {
    return <AView text={this.state.a} />
  }
}

const BView = (props) => (
  <div>
    <p>{props.text}</p>
  </div>
)

class B extends Component {
  constructor(props) {
    super(props);
    this.state = { b: 2 };
  }
  render() {
    return <BView text={this.state.b} />
  }
}