したがって、他のJSXと一緒に機能コンポーネントをレンダリングするコンテナコンポーネントがあります。私はそのコンテナ内の状態を、その機能コンポーネントの内部から発生しているボタンクリックから変更しようとしています。しかし、私はまだこれに取り組んで良い記事を見つけていないと私はthis.setState() is not a function
の問題にぶつかるか、またはtrigger a setState call during a render
(多かれ少なかれ)にしようとすることによって、現在のタブを完全に破る。ここで React:コンテナの状態を機能コンポーネント内から設定する
class TestComponent extends Component {
render() {
<div>
<FunctionalComponent close={(type) => this.setState({ property: type })} />
</div>
}
};
機能性成分:
は、コンテナ内の別の関数を作成し、そこからthis.setState()
を呼び出してみました
const FunctionalComponent = (props) => {
return (
<button onClick={props.close('stringvalue')}>Click to setState</button>
);
};
が、問題は続く。これは文脈の問題ですか?