Comments (4)
for future generations, this worked for me:
// angular layout
<my-comp on-close-modal-clicked="$ctrl.onCancelModalClosing"></my-comp>
// angular comp.ts
// **note the arrow function to retain context**
export class AngComp {
onCancelModalClosing = () => {
this.isModalDisplayed = false;
}
}
// react component:
import * as React from 'react';
interface IProps {
onCloseModalClicked?: () => void;
}
export default class MyComp extends React.Component<IProps> {
closeModalClicked?: IProps['onCloseModalClicked'];
constructor(props) {
super(props);
}
closeModal = () => {
const closeModalClicked = this.props.onCloseModalClicked;
closeModalClicked && closeModalClicked();
};
render() {
return (<Button onClick={this.props.closeModalClicked} />);
}
}
// react2angular link
import {react2angular} from 'react2angular';
import MyComp from './my-comp';
export const myComp = react2angular(MyComp, ['onCloseModalClicked']);
from react2angular.
@bcherny The fix url are not working. Can you fix it? Or supply the fix in a comment?
Thanks!
from react2angular.
Hi @pablote! This is an Angular issue, and is not related to React or react2angular.
I made a repro case to demonstrate: https://stackblitz.com/edit/react2angular-binding-issue-xyue5j?file=index.js.
The fix is to bind in your controller, not in your view. Otherwise every time the view is compiled you're generating a new function, so the scope gets re-digested. This is because in JavaScript:
let a = function() {}
a === a.bind(a) // false
See the fix here: https://stackblitz.com/edit/react2angular-binding-issue-pmetca?file=index.js.
from react2angular.
@bcherny never mind. I figured it out.
The answer is this stackoverflow's question
from react2angular.
Related Issues (20)
- Is it possible to pass function with params from angular parent component to react child component with react2angular library? HOT 1
- Collision of React Props and Angular Component Class Members HOT 1
- Doesnt work correct in table HOT 1
- No documentation on function binding incompatibility HOT 1
- React hooks HOT 5
- How to share React Context with Angular HOT 3
- Memory leak HOT 4
- How to provide redux store store? HOT 2
- Uncaught SyntaxError: Cannot use import statement outside a module
- Is it works with TypeScript? HOT 2
- Angular 10 support?
- Does this support React.lazy component HOT 1
- How can I render children inside the react component? HOT 2
- Issue when bundling
- Critical Vulnerability in react2angular > ngcomponent > lodash path
- Webpack Module Federation Support
- angularApp.component is not a function HOT 1
- React 18 upgrade HOT 4
- React 18 Support HOT 3
- Are React functional components supported? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from react2angular.