SelectFixture Class — react Architecture
Architecture documentation for the SelectFixture class in index.js from the react codebase.
Entity Profile
Dependency Diagram
graph TD eb8d377d_f685_5ff6_8793_29bd1c6d16e3["SelectFixture"] 4d41189b_fce4_6ba5_b7d2_4761097dfcea["index.js"] eb8d377d_f685_5ff6_8793_29bd1c6d16e3 -->|defined in| 4d41189b_fce4_6ba5_b7d2_4761097dfcea 63255409_fb19_2921_4bc2_d0e397193498["componentDidMount()"] eb8d377d_f685_5ff6_8793_29bd1c6d16e3 -->|method| 63255409_fb19_2921_4bc2_d0e397193498 1024b5ae_0735_da96_868a_98408e2c5d14["componentDidUpdate()"] eb8d377d_f685_5ff6_8793_29bd1c6d16e3 -->|method| 1024b5ae_0735_da96_868a_98408e2c5d14 794219c4_b9d6_7c2b_af9b_6368503fa4dc["_renderNestedSelect()"] eb8d377d_f685_5ff6_8793_29bd1c6d16e3 -->|method| 794219c4_b9d6_7c2b_af9b_6368503fa4dc 8989a312_d57d_eb21_190f_f23e06e8b008["render()"] eb8d377d_f685_5ff6_8793_29bd1c6d16e3 -->|method| 8989a312_d57d_eb21_190f_f23e06e8b008
Relationship Graph
Source Code
fixtures/dom/src/components/fixtures/selects/index.js lines 7–236
class SelectFixture extends React.Component {
state = {value: ''};
_nestedDOMNode = null;
_singleFormDOMNode = null;
_multipleFormDOMNode = null;
onChange = event => {
this.setState({value: event.target.value});
};
resetSingleOptionForm = event => {
event.preventDefault();
this._singleFormDOMNode.reset();
};
resetMultipleOptionForm = event => {
event.preventDefault();
this._multipleFormDOMNode.reset();
};
componentDidMount() {
this._renderNestedSelect();
}
componentDidUpdate() {
this._renderNestedSelect();
}
_renderNestedSelect() {
ReactDOM.render(
<select value={this.state.value} onChange={this.onChange}>
<option value="">Select a color</option>
<option value="red">Red</option>
<option value="blue">Blue</option>
<option value="green">Green</option>
</select>,
this._nestedDOMNode
);
}
render() {
return (
<FixtureSet title="Selects">
<form className="field-group">
<fieldset>
<legend>Controlled</legend>
<select value={this.state.value} onChange={this.onChange}>
<option value="">Select a color</option>
<option value="red">Red</option>
<option value="blue">Blue</option>
<option value="green">Green</option>
</select>
<span className="hint">Value: {this.state.value}</span>
</fieldset>
<fieldset>
<legend>Uncontrolled</legend>
<select defaultValue="">
<option value="">Select a color</option>
<option value="red">Red</option>
<option value="blue">Blue</option>
<option value="green">Green</option>
</select>
</fieldset>
<fieldset>
<legend>Controlled in nested subtree</legend>
<div ref={node => (this._nestedDOMNode = node)} />
<span className="hint">
This should synchronize in both direction with the "Controlled".
</span>
</fieldset>
</form>
<TestCase title="A selected disabled option" relatedIssues="2803">
<TestCase.Steps>
<li>Open the select</li>
<li>Select "1"</li>
<li>Attempt to reselect "Please select an item"</li>
</TestCase.Steps>
<TestCase.ExpectedResult>
The initial picked option should be "Please select an item", however
Domain
Source
Frequently Asked Questions
What is the SelectFixture class?
SelectFixture is a class in the react codebase, defined in fixtures/dom/src/components/fixtures/selects/index.js.
Where is SelectFixture defined?
SelectFixture is defined in fixtures/dom/src/components/fixtures/selects/index.js at line 7.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free