내 프로젝트에서 모든 믹스 인을 없애고 HOC로 대체하려고합니다. 나는 지금 ES5를 사용하여 붙어있다.ES5 믹스를 고차원 컴포넌트로 변환
export default React.createClass({
mixins: [SomeAsyncMixin],
data: {
item1: {
params: ({params, query}) => {
params: ({params, query}) => {
if (!query.p) {
return null;
}
const status = someTernaryResult
return {
groups: query.groups,
status,
subject: params.subject,
};
},
promise: query => query && query.subject && api(makeUrl(`/some/endpoint`, query))
},
item2: {
params: ({params, query}) => {
//same as before
},
promise: ({subject, query}) =>
// same as before
}
render() {
// some stuff
return(
// some jsx
);
}
}
는 믹스 인, 내부에 그것이 componentWillMount
data
및 각 키를 통해 루프 소품/상태를 업데이트 할 것이다 update
함수를 실행 componentWillUpdate
있다.
믹스 인을 제거하는 방법에 대한 정보는 docs인데, 믹스 인은 해당 구성 요소가 아니라 데이터를 보유합니다.
내 프로젝트에는 data
개체를 가진 많은 구성 요소가 있으며이 mixin을 사용하여 소품/상태를 업데이트합니다. 이 데이터 객체를 처리하기 위해 재사용 가능한 구성 요소를 만들려면 어떻게해야합니까?
또한 구성 요소 내에서이 데이터 개체에 어떻게 액세스합니까? 구성 요소 this.data
에서 null입니다. 믹스 인 this.data
내부는 구성 요소 내부의 데이터 객체입니다. 왜?