Comments (9)
Went from 1.0.4 to 1.1.1 and that got rid of the error.
Now it just looks like https://github.com/leecade/react-native-swiper/blob/master/dist/index.js#L224 needs to be:
this.props.onMomentumScrollEnd && this.props.onMomentumScrollEnd.call(this, e);
so we can access the event context.
from react-native-swiper.
Adding the index would be really useful:
this.props.onMomentumScrollEnd && this.props.onMomentumScrollEnd.call(this, e, this.state.index);
from react-native-swiper.
cool, you are right, i forget the event param.
from react-native-swiper.
New version(1.2.0) fixed this issue, thank you for point this, and maybe get index
like this this.state.index
is better.
from react-native-swiper.
@leecade Thanks for the quick fix!
I don't think React wants you to change context between components.
At least it's not working for me.
_onMomentumScrollEnd: function(e) {
// NOTE: `this` is still set to the context of the component containing Swiper
// and not the Swiper component itself.
console.log(this.state.index); // logs `undefined`
},
The React warning: Warning: bind(): React component methods may only be bound to the component instance.
The core team seems to handle callbacks with explicit params and without using call
, apply
, or bind
.
this.props.onMomentumScrollEnd && this.props.onMomentumScrollEnd(e, this);
// NOTE: `this.state.index` works as expected although it seems heavy handed to pass `this`
this.props.onMomentumScrollEnd && this.props.onMomentumScrollEnd(e, this.state.index);
// NOTE: would be ideal
from react-native-swiper.
hi @smothers
<Swiper ...
onMomentumScrollEnd={function(){console.log('this.state.index:', this.state.index)}}
2015-05-02 14:02:51.547 [info][tid:com.facebook.React.JavaScript] "this.state.index:", 1
2015-05-02 14:02:52.629 [info][tid:com.facebook.React.JavaScript] "this.state.index:", 2
2015-05-02 14:02:53.780 [info][tid:com.facebook.React.JavaScript] "this.state.index:", 3
2015-05-02 14:02:54.945 [info][tid:com.facebook.React.JavaScript] "this.state.index:", 0
is this right for you?
And I notice this.setState
is async, so I call the onMomentumScrollEnd
in setTimeout
to ensure synchronous update index
.
If there is still a problem, tell me, thanks.
from react-native-swiper.
Returns the index
<Swiper ...
onMomentumScrollEnd={function(){console.log('this.state.index:', this.state.index)}}
Returns undefined
<Swiper ...
onMomentumScrollEnd={this._onMomentumScrollEnd}
_onMomentumScrollEnd: function() {
console.log('this.state.index:', this.state.index)
},
from react-native-swiper.
@smothers I fixed this issue.
Now you can get state
and this
(ref to swiper's context) from params, for example:
var swiper = React.createClass({
_onMomentumScrollEnd: function (e, state, context) {
console.log(state, context.state)
},
render: function() {
return (
<Swiper style={styles.wrapper}
onMomentumScrollEnd ={this._onMomentumScrollEnd}
...
</Swiper>
)
}
})
from react-native-swiper.
@leecade thanks looks good π
from react-native-swiper.
Related Issues (20)
- Data is not displayed correctly when the data is changed
- Is this still maintained? Or EOL? HOT 5
- how to prevent user to not come on first screen after the last swipe?
- how to detect swipe left or right HOT 1
- ViewPropTypes will be removed from React Native. Migrate to ViewPropTypes exported from 'deprecated-react-native-prop-types HOT 4
- how to swipe to next screen when user press the button HOT 1
- ε₯½εεζ΄δΊοΌ
- flicker in the area of <Swiper> Component when swiping on the latest version of react-native HOT 4
- Position: aboslute won't make button clickable
- In the case of iPhone, touch is not available when using Flatlist items.
- Invariant Violation: ViewPropTypes has been removed from React Native. Migrate to ViewPropTypes exported from 'deprecated-react-native-prop-types' HOT 1
- OnIndexChanged
- Just don't use this lib. HOT 3
- [All-iPhone-Device] Two photos are displayed in one picture in the Swiper HOT 1
- Add animation to update pagination dot while swiping HOT 2
- Warning: Failed prop type: The prop `children` is marked as required in `_default`, but its value is `undefined`. HOT 1
- index value will be out of reange after updating the UseState
- How can we make screen transitions by touching dots? How can I add a background to the dots?
- How to adjust spacing of pagination dots ?
- onIndexChanged getting wrong value
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 react-native-swiper.