그것은 PropTypes
과 관련이있다에 봐주십시오 생산에서 제거된다. 반작용의 향후 주요 릴리스에서
에서 제거됩니다하여 PropType 검증 기능을 구현하는 코드 - 여기
https://facebook.github.io/react/warnings/dont-call-proptypes.html는 일반적인 생각이다 -
그들은이 모든 것을 설명하는 놀라운 포스트가 생산. 이런 일이 발생하면 프로덕션에서 제거되지 않는 이러한 함수를 수동으로 호출하는 코드는 오류를 발생시킵니다. 그들은
PropTypes
API에 대한 호출의 정확한 위치에 대한 스택 추적을보고 제안
// Not supported!
var error = apiShape(json, 'response');
-
경고에 의해 생성 된 스택 추적을 검사합니다. PropTyp 직접 호출을 담당하는 구성 요소 정의를 찾을 수 있습니다.
포스트는 가양 수정 제안을 제공합니다 - 당신은 타사 PropTypes 라이브러리의 저자 인 경우
을하고 소비자가 PropTypes 반응 기존의 포장하자, 그들은이 경고오고보기 시작할 수 있습니다 귀하의 도서관에서. 이것은 React가 수동 PropTypes 호출을 탐지하기 위해 전달하는 "비밀"마지막 인수를 보지 못하기 때문에 발생합니다.
export default function deprecated(propType, explanation) {
return function validate(props, propName, componentName) {
if (props[propName] != null) {
const message = `"${propName}" property of "${componentName}" has been deprecated.\n${explanation}`;
if (!warned[message]) {
warning(false, message);
warned[message] = true;
}
}
return propType(props, propName, componentName);
};
}
당신은 기능에 ...rest
를 사용하여 위의 코드를 해결할 수 -
export default function deprecated(propType, explanation) {
return function validate(props, propName, componentName, ...rest) { // Note ...rest here
if (props[propName] != null) {
const message = `"${propName}" property of "${componentName}" has been deprecated.\n${explanation}`;
if (!warned[message]) {
warning(false, message);
warned[message] = true;
}
}
return propType(props, propName, componentName, ...rest); // and here
};
}
그래서이 직접
Sparklines
lib 디렉토리에있을 수 있습니다, 또는 어딘가에 코드 - 아래를 참조하십시오. 전체 스택 추적 없이는 말할 수 없지만 문제를 해결하는 데 더 가까워 야합니다.
나는 그것을위한 해결책을 가지고있다 ... 나는 방금 sparklines release보다 오래된 내 반응 라이브러리를 업데이트했다. 이제 잘 작동합니다. –