Przeglądaj źródła

fix refs problem when wrapped by translate(i18next)

Yuki Takei 7 lat temu
rodzic
commit
0d4eddae48
2 zmienionych plików z 10 dodań i 2 usunięć
  1. 5 1
      resource/js/app.js
  2. 5 1
      resource/js/components/SavePageControls.jsx

+ 5 - 1
resource/js/app.js

@@ -265,7 +265,11 @@ if (savePageControlsElem) {
   ReactDOM.render(
     <I18nextProvider i18n={i18n}>
       <SavePageControls crowi={crowi} onSubmit={saveWithSubmitButton}
-          ref={(elem) => { savePageControls = elem.getWrappedInstance() }}
+          ref={(elem) => {
+            if (savePageControls == null) {
+              savePageControls = elem.getWrappedInstance();
+            }
+          }}
           pageId={pageId} pagePath={pagePath} slackChannels={slackChannels}
           grant={grant} grantGroupId={grantGroupId} grantGroupName={grantGroupName} />
     </I18nextProvider>,

+ 5 - 1
resource/js/components/SavePageControls.jsx

@@ -58,7 +58,11 @@ class SavePageControls extends React.PureComponent {
 
         <div className="mr-2">
           <GrantSelector crowi={this.props.crowi}
-              ref={(elem) => { this.refs.grantSelector = elem.getWrappedInstance()} }
+              ref={(elem) => {
+                if (this.refs.grantSelector == null) {
+                  this.refs.grantSelector = elem.getWrappedInstance();
+                }
+              }}
               grant={this.props.grant}
               grantGroupId={this.props.grantGroupId}
               grantGroupName={this.props.grantGroupName} />