[초초보] React의 contextAPI를 사용해 보세요.
11353 단어 Reactcontextapi초보자
입문
react의 contextAPI를 배웠기 때문에 필기를 합니다.
결국, 나는 문자를 입력하고submit을 누르면 입력한 문자가 나온다. 마치 todo 응용 프로그램과 같지만, 내가 거기에 오기 전에 나는 힘을 썼다.
지금 문자를 입력하면 그 문자가 표시됩니다!
초보자라서 틀렸으니 조언이 있으면 메시지를 남겨주세요.
코드는 상위 구성 요소의 App입니다.js에는 input와submitbutton 등form이 있습니다.Privider Consumer를 통해 표시되는 todo를 통해 js의 문자를 입력합니다.js의 두 개는 서브어셈블리로 사용됩니다.
참고문
React Context API 정보
상술한 기사를 먼저 읽고 서로 다른 버전의 contextAPI를 보고 싶은 사람용입니다.상술한 보도는 매우 이해하기 쉽다!!그리고 동영상도 있어요.
구현 방법 npm init react-app contextAPI
만든 거 yarn start.
파일 구조
-- App.js
-- src
src에components,contexts
components에form이 있습니다.js todo.js
contexts에 formContext가 있습니다.js
목록을 모르는 알기 쉬운 작법.네, 잘 안 보여요.
코드
App.jsimport React from "react";
import "./App.css";
import Form from "./components/form";
class App extends React.Component {
constructor(props) {
super(props);
this.state = {
text: ""
};
}
render() {
return (
<div className="App">
<h1>hello</h1>
<Form />
</div>
);
}
}
export default App;
src/conponents/form.jsimport React from "react";
import Todo from "./todo";
import FormContext from "../contexts/formContext";
class Form extends React.Component {
constructor(props) {
super(props);
this.handleChange = this.handleChange.bind(this);
this.onSubmit = this.onSubmit.bind(this);
this.state = {
text: ""
};
}
onSubmit = event => {
this.setState({ text: this.state.text });
};
handleChange = event => {
this.setState({ [event.target.name]: event.target.value });
console.log(event.target.value)
};
render() {
return (
<div>
<input
type="text"
name="text"
onChange={this.handleChange}
/>
<button
onClick={this.onSubmit}>submit</button>
<FormContext.Provider value={this.state}>
<Todo />
</FormContext.Provider>
</div>
);
}
}
export default Form;
FormContext.Provider에서value로 위의constructor의text를todo로 합니다.js한테 맡겨.텍스트뿐만 아니라handleChange,onSubmit 등의 함수도 전달할 수 있다.
src/components/todo.jsimport React from "react";
import FormContext from "../contexts/formContext";
const Todo = () => (
<FormContext.Consumer>
{({ text }) => {
console.log(text);
return <div>{text}</div>;
}}
</FormContext.Consumer>
);
export default Todo;
여기 텍스트 받았어요.즉, input 입력을 받아들인 문자입니다.
src/contexts/formContexts.jsimport { createContext } from "react";
const FormContext = createContext();
export default FormContext;
여기는 잘 모르겠지만 Provider와consumer 사이에서 처리된 것 같습니다.
Reference
이 문제에 관하여([초초보] React의 contextAPI를 사용해 보세요.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/asa1084/items/b03d80ac2f44ae09508a
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
React Context API 정보
상술한 기사를 먼저 읽고 서로 다른 버전의 contextAPI를 보고 싶은 사람용입니다.상술한 보도는 매우 이해하기 쉽다!!그리고 동영상도 있어요.
구현 방법 npm init react-app contextAPI
만든 거 yarn start.
파일 구조
-- App.js
-- src
src에components,contexts
components에form이 있습니다.js todo.js
contexts에 formContext가 있습니다.js
목록을 모르는 알기 쉬운 작법.네, 잘 안 보여요.
코드
App.jsimport React from "react";
import "./App.css";
import Form from "./components/form";
class App extends React.Component {
constructor(props) {
super(props);
this.state = {
text: ""
};
}
render() {
return (
<div className="App">
<h1>hello</h1>
<Form />
</div>
);
}
}
export default App;
src/conponents/form.jsimport React from "react";
import Todo from "./todo";
import FormContext from "../contexts/formContext";
class Form extends React.Component {
constructor(props) {
super(props);
this.handleChange = this.handleChange.bind(this);
this.onSubmit = this.onSubmit.bind(this);
this.state = {
text: ""
};
}
onSubmit = event => {
this.setState({ text: this.state.text });
};
handleChange = event => {
this.setState({ [event.target.name]: event.target.value });
console.log(event.target.value)
};
render() {
return (
<div>
<input
type="text"
name="text"
onChange={this.handleChange}
/>
<button
onClick={this.onSubmit}>submit</button>
<FormContext.Provider value={this.state}>
<Todo />
</FormContext.Provider>
</div>
);
}
}
export default Form;
FormContext.Provider에서value로 위의constructor의text를todo로 합니다.js한테 맡겨.텍스트뿐만 아니라handleChange,onSubmit 등의 함수도 전달할 수 있다.
src/components/todo.jsimport React from "react";
import FormContext from "../contexts/formContext";
const Todo = () => (
<FormContext.Consumer>
{({ text }) => {
console.log(text);
return <div>{text}</div>;
}}
</FormContext.Consumer>
);
export default Todo;
여기 텍스트 받았어요.즉, input 입력을 받아들인 문자입니다.
src/contexts/formContexts.jsimport { createContext } from "react";
const FormContext = createContext();
export default FormContext;
여기는 잘 모르겠지만 Provider와consumer 사이에서 처리된 것 같습니다.
Reference
이 문제에 관하여([초초보] React의 contextAPI를 사용해 보세요.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/asa1084/items/b03d80ac2f44ae09508a
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
npm init react-app contextAPI
App.js
import React from "react";
import "./App.css";
import Form from "./components/form";
class App extends React.Component {
constructor(props) {
super(props);
this.state = {
text: ""
};
}
render() {
return (
<div className="App">
<h1>hello</h1>
<Form />
</div>
);
}
}
export default App;
src/conponents/form.jsimport React from "react";
import Todo from "./todo";
import FormContext from "../contexts/formContext";
class Form extends React.Component {
constructor(props) {
super(props);
this.handleChange = this.handleChange.bind(this);
this.onSubmit = this.onSubmit.bind(this);
this.state = {
text: ""
};
}
onSubmit = event => {
this.setState({ text: this.state.text });
};
handleChange = event => {
this.setState({ [event.target.name]: event.target.value });
console.log(event.target.value)
};
render() {
return (
<div>
<input
type="text"
name="text"
onChange={this.handleChange}
/>
<button
onClick={this.onSubmit}>submit</button>
<FormContext.Provider value={this.state}>
<Todo />
</FormContext.Provider>
</div>
);
}
}
export default Form;
FormContext.Provider에서value로 위의constructor의text를todo로 합니다.js한테 맡겨.텍스트뿐만 아니라handleChange,onSubmit 등의 함수도 전달할 수 있다.src/components/todo.js
import React from "react";
import FormContext from "../contexts/formContext";
const Todo = () => (
<FormContext.Consumer>
{({ text }) => {
console.log(text);
return <div>{text}</div>;
}}
</FormContext.Consumer>
);
export default Todo;
여기 텍스트 받았어요.즉, input 입력을 받아들인 문자입니다.src/contexts/formContexts.js
import { createContext } from "react";
const FormContext = createContext();
export default FormContext;
여기는 잘 모르겠지만 Provider와consumer 사이에서 처리된 것 같습니다.
Reference
이 문제에 관하여([초초보] React의 contextAPI를 사용해 보세요.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/asa1084/items/b03d80ac2f44ae09508a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)