У меня есть функциональный компонент с функцией prop, которая не работает. Итак ...
export interface IPanelProps {
itemID; number;
Open: boolean;
onClose: () => void;
}
const FabricPanel: FC<IPanelProps> = ({ onClose, Open, itemID }) => {
let _OnCancelClick = () => {
onClose();
}
return (
<Panel isOpen={Open}>
<h2>{itemID} </h2>
<DialogFooter>
<DefaultButton text="Cancel" onClick={_OnCancelClick} />
<PrimaryButton text="Save" />
</DialogFooter>
</Panel>
)
}
Получение ошибки: Uncaught TypeError: onClose не является функцией Open и реквизиты Item ID работают просто отлично, это потому, что я вызываю функцию prop? Я попытался поставить (реквизит) вместо этого, и это не сработало.
Есть идеи вообще?
На родительском компоненте:
_renderPanelComponent = (props: any) => {
const element : React.ReactElement<IPanelProps> = React.createElement(FabricPanel, assign({
itemID : null,
Open : false,
OnClose : null
}, props))
ReactDom.render(element, this.panelPlaceHolder);
}
_showPanel = (itemID : number) => {
this._renderPanelComponent({
itemID,
Open : true,
OnClose : this._dismissPanel
})
}
_dismissPanel = () =>{
this._renderPanelComponent({ isOpen: false });
}
При нажатии кнопки в SharePoint выполняется функция стрелки Showpanel, и это прекрасно работает. но onClose не работает.