#reactjs #typescript #react-props #destructuring
Вопрос:
У меня есть СПЕЦИАЛЬНАЯ оболочка разрешений, она хорошо работает, но я не могу правильно доставлять реквизиты в обернутом компоненте, это похоже на массив[0:{MyInterface}], и это похоже на проблему.
Что я делаю не так? Как я могу разрушать …реквизит и правильно поместить его в обернутый компонент?
Упаковщик:
export function withPermissionCheck(WrappedComponent, permissionProps: IPermissionSupport, ...props) { return class PermissionWrapperComponent extends React.Component { constructor(props) { super(props); } render() { const isAllowed = permissionProps.permissionValidation(permissionProps.actionName); switch (permissionProps.workMechanic) { case PermissionWrapperWorkMechanics.visibleChange: { if(isAllowed === true) { return lt;WrappedComponent {...props}/gt; } break; } case PermissionWrapperWorkMechanics.readonlyChange: { const {...prop} = props; return lt;WrappedComponent disabled={isAllowed} {...prop}/gt; } default: { return lt;WrappedComponent {...props}/gt; } } return null; } } }
Упаковка:
const preProps = { key: `await-page-button-${this.props.keySuffix}-${index}`, withoutMargin: true, isAwaiting: isAwaiting, icon: iconJsx, ...buttonProps }; const Result = withPermissionCheck(AwaiterButton, permissionWrap, preProps); return lt;Result/gt;